Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .changelog/1934.bugfix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Handle rofl market event details
80 changes: 80 additions & 0 deletions src/app/components/RuntimeEvents/RuntimeEventDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ import ArrowUpwardIcon from '@mui/icons-material/ArrowUpward'
import MemoryIcon from '@mui/icons-material/Memory'
import LanIcon from '@mui/icons-material/Lan'
import LanOutlinedIcon from '@mui/icons-material/LanOutlined'
import DeveloperBoard from '@mui/icons-material/DeveloperBoard'
import DeveloperBoardOffIcon from '@mui/icons-material/DeveloperBoardOff'
import { MethodIcon } from '../ConsensusTransactionMethod'
import { TransactionLink } from '../Transactions/TransactionLink'
import Tooltip from '@mui/material/Tooltip'
Expand Down Expand Up @@ -65,6 +67,25 @@ const getRuntimeEventMethodLabel = (t: TFunction, method: RuntimeEventType | und
return t('runtimeEvent.roflAppRemoved')
case RuntimeEventType.roflinstance_registered:
return t('runtimeEvent.instanceRegistered')
case RuntimeEventType.roflmarketprovider_created:
return t('runtimeEvent.roflmarketProviderCreated')
case RuntimeEventType.roflmarketprovider_updated:
return t('runtimeEvent.roflmarketProviderUpdated')
case RuntimeEventType.roflmarketprovider_removed:
return t('runtimeEvent.roflmarketProviderRemoved')
case RuntimeEventType.roflmarketinstance_created:
return t('runtimeEvent.roflmarketMachineCreated')
case RuntimeEventType.roflmarketinstance_updated:
return t('runtimeEvent.roflmarketMachineUpdated')
case RuntimeEventType.roflmarketinstance_accepted:
return t('runtimeEvent.roflmarketMachineAccepted')
case RuntimeEventType.roflmarketinstance_cancelled:
return t('runtimeEvent.roflmarketMachineCancelled')
case RuntimeEventType.roflmarketinstance_removed:
return t('runtimeEvent.roflmarketMachineRemoved')
case RuntimeEventType.roflmarketinstance_command_queued:
return t('runtimeEvent.roflmarketMachineCommandQueued')

case undefined:
return t('common.unknown')
default:
Expand Down Expand Up @@ -107,6 +128,29 @@ export const EventTypeIcon: FC<{
[RuntimeEventType.roflapp_removed]: <MethodIcon color="orange" icon={<MemoryIcon />} {...props} />,
[RuntimeEventType.roflapp_updated]: <MethodIcon color="green" icon={<MemoryIcon />} {...props} />,
[RuntimeEventType.roflinstance_registered]: <MethodIcon color="green" icon={<MemoryIcon />} {...props} />,
[RuntimeEventType.roflmarketprovider_created]: (
<MethodIcon color="green" icon={<DeveloperBoard />} {...props} />
),
[RuntimeEventType.roflmarketprovider_updated]: (
<MethodIcon color="green" icon={<DeveloperBoard />} {...props} />
),
[RuntimeEventType.roflmarketprovider_removed]: (
<MethodIcon color="orange" icon={<DeveloperBoardOffIcon />} {...props} />
),
[RuntimeEventType.roflmarketinstance_created]: (
<MethodIcon color="green" icon={<DeveloperBoard />} {...props} />
),
[RuntimeEventType.roflmarketinstance_updated]: (
<MethodIcon color="green" icon={<DeveloperBoard />} {...props} />
),
[RuntimeEventType.roflmarketinstance_accepted]: <MethodIcon icon={<DeveloperBoard />} {...props} />,
[RuntimeEventType.roflmarketinstance_cancelled]: (
<MethodIcon color="orange" icon={<DeveloperBoardOffIcon />} {...props} />
),
[RuntimeEventType.roflmarketinstance_removed]: (
<MethodIcon color="orange" icon={<DeveloperBoardOffIcon />} {...props} />
),
[RuntimeEventType.roflmarketinstance_command_queued]: <MethodIcon icon={<DeveloperBoard />} {...props} />,
}

return (
Expand Down Expand Up @@ -464,6 +508,42 @@ const RuntimeEventDetailsInner: FC<{
</StyledDescriptionList>
</div>
)
case RuntimeEventType.roflmarketprovider_created:
case RuntimeEventType.roflmarketprovider_updated:
case RuntimeEventType.roflmarketprovider_removed:
return (
<div>
<EventTypeIcon eventType={event.type} />
<StyledDescriptionList titleWidth={isMobile ? '100px' : '200px'}>
<MaybeEventErrorLine event={event} />
<dt>{t('common.address')}</dt>
<dd>
<AccountLink scope={scope} address={event.body.address} />
</dd>
</StyledDescriptionList>
</div>
)
case RuntimeEventType.roflmarketinstance_created:
case RuntimeEventType.roflmarketinstance_updated:
case RuntimeEventType.roflmarketinstance_accepted:
case RuntimeEventType.roflmarketinstance_cancelled:
case RuntimeEventType.roflmarketinstance_removed:
case RuntimeEventType.roflmarketinstance_command_queued:
return (
<div>
<EventTypeIcon eventType={event.type} />
<StyledDescriptionList titleWidth={isMobile ? '100px' : '200px'}>
<MaybeEventErrorLine event={event} />
<dt>{t('roflmarket.provider')}</dt>
<dd>
<AccountLink scope={scope} address={event.body.provider} />
</dd>
<dt>{t('roflmarket.machineId')}</dt>
{/* oasis-sdk serializes roflmarket provider machines id as an array */}
<dd>{JSON.stringify(event.body.id)}</dd>
</StyledDescriptionList>
</div>
)
default:
exhaustedTypeWarning('Unexpected event type', event.type)
return (
Expand Down
8 changes: 4 additions & 4 deletions src/app/components/RuntimeTransactionMethod/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,13 @@ const getRuntimeTransactionLabel = (t: TFunction, method: KnownRuntimeTxMethod)
case 'roflmarket.ProviderRemove':
return t('transactions.method.roflmarket.providerRemove')
case 'roflmarket.InstanceCreate':
return t('transactions.method.roflmarket.instanceCreate')
return t('transactions.method.roflmarket.machineCreate')
case 'roflmarket.InstanceTopUp':
return t('transactions.method.roflmarket.instanceTopUp')
return t('transactions.method.roflmarket.machineTopUp')
case 'roflmarket.InstanceCancel':
return t('transactions.method.roflmarket.instanceCancel')
return t('transactions.method.roflmarket.machineCancel')
case 'roflmarket.InstanceExecuteCmds':
return t('transactions.method.roflmarket.instanceExecuteCmds')
return t('transactions.method.roflmarket.machineExecuteCmds')
default:
exhaustedTypeWarning('Unknown runtime tx method', method)
return method || t('common.unknown')
Expand Down
21 changes: 17 additions & 4 deletions src/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -498,10 +498,10 @@
"providerCreate": "ROFL Market Provider Create",
"providerUpdate": "ROFL Market Provider Update",
"providerRemove": "ROFL Market Provider Remove",
"instanceCreate": "ROFL Market Instance Create",
"instanceTopUp": "ROFL Market Instance Top Up",
"instanceCancel": "ROFL Market Instance Cancel",
"instanceExecuteCmds": "ROFL Market Instance Execute Commands"
"machineCreate": "ROFL Market Machine Create",
"machineTopUp": "ROFL Market Machine Top Up",
"machineCancel": "ROFL Market Machine Cancel",
"machineExecuteCmds": "ROFL Market Machine Execute Commands"
},
"vault": {
"authorizeAction": "Vault: Authorize Action",
Expand Down Expand Up @@ -546,6 +546,15 @@
"roflAppUpdated": "ROFL App Updated",
"roflAppRemoved": "ROFL App Removed",
"instanceRegistered": "ROFL Instance Registered",
"roflmarketProviderCreated": "ROFL Market Provider Created",
"roflmarketProviderUpdated": "ROFL Market Provider Updated",
"roflmarketProviderRemoved": "ROFL Market Provider Removed",
"roflmarketMachineCreated": "ROFL Market Machine Created",
"roflmarketMachineUpdated": "ROFL Market Machine Updated",
"roflmarketMachineAccepted": "ROFL Market Machine Accepted",
"roflmarketMachineCancelled": "ROFL Market Machine Cancelled",
"roflmarketMachineRemoved": "ROFL Market Machine Removed",
"roflmarketMachineCommandQueued": "ROFL Market Command Queued",
"evmLog": "EVM log message",
"filter": {
"all": "All events",
Expand Down Expand Up @@ -729,6 +738,10 @@
"endorsingNodeId": "Endorsing node ID",
"extraKeys": "Extra keys"
},
"roflmarket": {
"provider": "Provider",
"machineId": "Machine ID"
},
"search": {
"placeholder": "Address, Block, Contract, Transaction hash, Token name, etc.",
"error": {
Expand Down
9 changes: 9 additions & 0 deletions src/oasis-nexus/generated/api.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.