Implementation
const possibleTypesMap = <String, Set<String>>{
'Node': {
'Address',
'Checkpoint',
'DynamicField',
'Epoch',
'MoveObject',
'MovePackage',
'Object',
'Transaction',
},
'IAddressable': {
'Address',
'CoinMetadata',
'DynamicField',
'MoveObject',
'MovePackage',
'Object',
},
'IMoveObject': {'CoinMetadata', 'DynamicField', 'MoveObject'},
'IObject': {
'CoinMetadata',
'DynamicField',
'MoveObject',
'MovePackage',
'Object',
},
'Command': {
'MakeMoveVecCommand',
'MergeCoinsCommand',
'MoveCallCommand',
'PublishCommand',
'SplitCoinsCommand',
'TransferObjectsCommand',
'UpgradeCommand',
'OtherCommand',
},
'DynamicFieldValue': {'MoveObject', 'MoveValue'},
'EndOfEpochTransactionKind': {
'ChangeEpochTransaction',
'AuthenticatorStateCreateTransaction',
'AuthenticatorStateExpireTransaction',
'RandomnessStateCreateTransaction',
'CoinDenyListStateCreateTransaction',
'StoreExecutionTimeObservationsTransaction',
'BridgeStateCreateTransaction',
'BridgeCommitteeInitTransaction',
'AccumulatorRootCreateTransaction',
'CoinRegistryCreateTransaction',
'DisplayRegistryCreateTransaction',
'AddressAliasStateCreateTransaction',
'WriteAccumulatorStorageCostTransaction',
},
'IMoveDatatype': {'MoveDatatype', 'MoveEnum', 'MoveStruct'},
'MultisigMemberPublicKey': {
'Ed25519PublicKey',
'Secp256K1PublicKey',
'Secp256R1PublicKey',
'PasskeyPublicKey',
'ZkLoginPublicIdentifier',
},
'Owner': {
'AddressOwner',
'ObjectOwner',
'Shared',
'Immutable',
'ConsensusAddressOwner',
},
'SignatureScheme': {
'Ed25519Signature',
'Secp256K1Signature',
'Secp256R1Signature',
'MultisigSignature',
'ZkLoginSignature',
'PasskeySignature',
},
'TransactionArgument': {'GasCoin', 'Input', 'TxResult'},
'TransactionInput': {
'Pure',
'MoveValue',
'OwnedOrImmutable',
'SharedInput',
'Receiving',
'BalanceWithdraw',
},
'TransactionKind': {
'GenesisTransaction',
'ConsensusCommitPrologueTransaction',
'ChangeEpochTransaction',
'RandomnessStateUpdateTransaction',
'AuthenticatorStateUpdateTransaction',
'EndOfEpochTransaction',
'ProgrammableTransaction',
'ProgrammableSystemTransaction',
},
'UnchangedConsensusObject': {
'ConsensusObjectRead',
'MutateConsensusStreamEnded',
'ReadConsensusStreamEnded',
'ConsensusObjectCancelled',
'PerEpochConfig',
},
'WithdrawalReservation': {'WithdrawMaxAmountU64'},
};