@aeternity/aepp-sdk 11.0.0 → 11.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +1 -1
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +1 -1
- package/dist/aepp-sdk.js.map +1 -1
- package/es/ae/contract.mjs +1 -1
- package/es/ae/contract.mjs.map +1 -1
- package/es/channel/index.mjs +1 -1
- package/es/channel/index.mjs.map +1 -1
- package/es/channel/internal.mjs +3 -4
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/aci.mjs +1 -1
- package/es/contract/aci.mjs.map +1 -1
- package/es/encoder.d.ts +26 -0
- package/es/tx/builder/constants.mjs +108 -0
- package/es/tx/builder/constants.mjs.map +1 -0
- package/es/tx/builder/helpers.mjs +10 -52
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/schema.mjs +4 -107
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +1 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +1 -1
- package/es/utils/crypto.mjs +2 -12
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder.mjs +106 -0
- package/es/utils/encoder.mjs.map +1 -0
- package/package.json +4 -2
- package/src/ae/contract.js +1 -1
- package/src/channel/index.js +6 -1
- package/src/channel/internal.js +5 -6
- package/src/contract/aci.js +1 -1
- package/src/tx/builder/constants.js +100 -0
- package/src/tx/builder/helpers.js +7 -53
- package/src/tx/builder/schema.js +1 -98
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +1 -1
- package/src/utils/crypto.js +2 -12
- package/src/utils/encoder.ts +101 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tx/builder/schema.js"],"names":["BigNumber","Name","NameId","NameFee","Deposit","VSN","VSN_2","TX_TTL","QUERY_FEE","ORACLE_TTL","type","value","QUERY_TTL","RESPONSE_TTL","AMOUNT","GAS_MAX","MIN_GAS_PRICE","MAX_AUTH_FUN_GAS","DRY_RUN_ACCOUNT","pub","amount","NAME_TTL","NAME_MAX_TTL","NAME_MAX_CLIENT_TTL","CLIENT_TTL","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_MAX_LENGTH","POINTER_KEY_BY_PREFIX","ak","ok","ct","ch","NAME_BID_RANGES","times","NAME_BID_TIMEOUTS","ID_TAG_ACCOUNT","ID_TAG_NAME","ID_TAG_COMMITMENT","ID_TAG_ORACLE","ID_TAG_CONTRACT","ID_TAG_CHANNEL","OBJECT_TAG_ACCOUNT","OBJECT_TAG_SIGNED_TRANSACTION","OBJECT_TAG_SPEND_TRANSACTION","OBJECT_TAG_ORACLE_REGISTER_TRANSACTION","OBJECT_TAG_ORACLE_QUERY_TRANSACTION","OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION","OBJECT_TAG_ORACLE_EXTEND_TRANSACTION","OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION","OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION","OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION","OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION","OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION","OBJECT_TAG_CONTRACT","OBJECT_TAG_CONTRACT_CALL","OBJECT_TAG_CONTRACT_CREATE_TRANSACTION","OBJECT_TAG_CONTRACT_CALL_TRANSACTION","OBJECT_TAG_CHANNEL_CREATE_TX","OBJECT_TAG_CHANNEL_DEPOSIT_TX","OBJECT_TAG_CHANNEL_WITHRAW_TX","OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX","OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX","OBJECT_TAG_CHANNEL_SLASH_TX","OBJECT_TAG_CHANNEL_SETTLE_TX","OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_TX","OBJECT_TAG_CHANNEL","OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX","OBJECT_TAG_CHANNEL_RECONNECT_TX","OBJECT_TAG_PROOF_OF_INCLUSION","OBJECT_TAG_STATE_TREES","OBJECT_TAG_MERKLE_PATRICIA_TREE","OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE","OBJECT_TAG_CONTRACTS_TREE","OBJECT_TAG_CONTRACT_CALLS_TREE","OBJECT_TAG_CHANNELS_TREE","OBJECT_TAG_NAMESERVICE_TREE","OBJECT_TAG_ORACLES_TREE","OBJECT_TAG_ACCOUNTS_TREE","OBJECT_TAG_GA_ATTACH","OBJECT_TAG_GA_META","OBJECT_TAG_PAYING_FOR","OBJECT_TAG_SOPHIA_BYTE_CODE","TX_FIELD","name","prefix","TX_SCHEMA_FIELD","schema","objectId","revertObject","obj","Object","entries","reduce","acc","key","v","TX_TYPE","account","signed","spend","nameClaim","namePreClaim","nameUpdate","nameRevoke","nameTransfer","contract","contractCreate","contractCall","contractCallResult","oracleRegister","oracleExtend","oracleQuery","oracleResponse","channelCreate","channelCloseMutual","channelCloseSolo","channelSlash","channelDeposit","channelWithdraw","channelSettle","channelOffChain","channelForceProgress","channel","channelSnapshotSolo","channelOffChainUpdateTransfer","channelOffChainUpdateDeposit","channelOffChainUpdateWithdrawal","channelOffChainCreateContract","channelOffChainCallContract","channelReconnect","proofOfInclusion","stateTrees","merklePatriciaTree","merklePatriciaTreeValue","contractsTree","contractCallsTree","channelsTree","nameserviceTree","oraclesTree","accountsTree","gaAttach","gaMeta","payingFor","sophiaByteCode","VM_VERSIONS","NO_VM","SOPHIA","SOPHIA_IMPROVEMENTS_MINERVA","SOPHIA_IMPROVEMENTS_FORTUNA","FATE","SOPHIA_IMPROVEMENTS_LIMA","FATE_2","ABI_VERSIONS","NO_ABI","PROTOCOL_VERSIONS","IRIS","PROTOCOL_VM_ABI","vmVersion","abiVersion","OBJECT_ID_TX_TYPE","FIELD_TYPES","int","id","ids","string","binary","rlpBinary","rlpBinaries","rawBinary","bool","hex","signatures","pointers","offChainUpdates","callStack","mptrees","callReturnType","ctVersion","sophiaCodeTypeInfo","payload","any","stateTree","BASE_GAS","GAS_PER_BYTE","DEFAULT_FEE","KEY_BLOCK_INTERVAL","TX_FEE_BASE_GAS","txType","factor","TX_FEE_OTHER_GAS","txSize","relativeTtl","innerTxSize","plus","Math","ceil","floor","minus","ID_TAG","commitment","oracle","PREFIX_ID_TAG","nm","cm","ID_TAG_PREFIX","BASE_TX","CONTRACT_BYTE_CODE_LIMA","ACCOUNT_TX_2","SPEND_TX","SIGNED_TX","NAME_PRE_CLAIM_TX","NAME_CLAIM_TX_2","NAME_UPDATE_TX","NAME_TRANSFER_TX","NAME_REVOKE_TX","CONTRACT_TX","GA_ATTACH_TX","GA_META_TX_2","PAYING_FOR_TX","CONTRACT_CREATE_TX","CONTRACT_CALL_TX","CONTRACT_CALL_RESULT_TX","ORACLE_REGISTER_TX","ORACLE_EXTEND_TX","ORACLE_QUERY_TX","ORACLE_RESPOND_TX","CHANNEL_CREATE_TX_2","CHANNEL_DEPOSIT_TX","CHANNEL_WITHDRAW_TX","CHANNEL_CLOSE_MUTUAL_TX","CHANNEL_CLOSE_SOLO_TX","CHANNEL_SLASH_TX","CHANNEL_SETTLE_TX","CHANNEL_FORCE_PROGRESS_TX","CHANNEL_OFFCHAIN_TX_2","CHANNEL_TX_3","CHANNEL_SNAPSHOT_SOLO_TX","CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX","CHANNEL_OFFCHAIN_CALL_CONTRACT_TX","CHANNEL_RECONNECT_TX","CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX","CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX","CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX","PROOF_OF_INCLUSION_TX","STATE_TREES_TX","MERKLE_PATRICIA_TREE_TX","MERKLE_PATRICIA_TREE_VALUE_TX","CONTRACTS_TREE_TX","CONTRACT_CALLS_TREE_TX","CHANNELS_TREE_TX","NAMESERVICE_TREE_TX","ORACLES_TREE_TX","ACCOUNTS_TREE_TX","TX_SERIALIZATION_SCHEMA","TX_DESERIALIZATION_SCHEMA"],"mappings":"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","sourcesContent":["/**\n * Transaction Schema for TxBuilder\n * @module @aeternity/aepp-sdk/es/tx/builder/schema\n * @export TxSchema\n * @example import { SCHEMA } from '@aeternity/aepp-sdk'\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport BigNumber from 'bignumber.js'\nimport { Name, NameId, NameFee, Deposit } from './field-types'\n\nexport const VSN = 1\nexport const VSN_2 = 2\n\n// # TRANSACTION DEFAULT TTL\nexport const TX_TTL = 0\n// # ORACLE\nexport const QUERY_FEE = 30000\nexport const ORACLE_TTL = { type: 'delta', value: 500 }\nexport const QUERY_TTL = { type: 'delta', value: 10 }\nexport const RESPONSE_TTL = { type: 'delta', value: 10 }\n// # CONTRACT\nexport const AMOUNT = 0\nexport const GAS_MAX = 1600000 - 21000\nexport const MIN_GAS_PRICE = 1e9\nexport const MAX_AUTH_FUN_GAS = 50000\nexport const DRY_RUN_ACCOUNT = { pub: 'ak_11111111111111111111111111111111273Yts', amount: '100000000000000000000000000000000000' }\n// # AENS\nexport const NAME_TTL = 180000\n// # max number of block into the future that the name is going to be available\n// # https://github.com/aeternity/protocol/blob/epoch-v0.22.0/AENS.md#update\n// # https://github.com/aeternity/protocol/blob/44a93d3aab957ca820183c3520b9daf6b0fedff4/AENS.md#aens-entry\nexport const NAME_MAX_TTL = 36000\nexport const NAME_MAX_CLIENT_TTL = 84600\nexport const CLIENT_TTL = NAME_MAX_CLIENT_TTL\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67\nexport const NAME_FEE_MULTIPLIER = 1e14 // 100000000000000\nexport const NAME_FEE_BID_INCREMENT = 0.05 // # the increment is in percentage\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272\nexport const NAME_BID_TIMEOUT_BLOCKS = 480 // # ~1 day\n// # this is the max length for a domain that requires a base fee to be paid\nexport const NAME_MAX_LENGTH_FEE = 31\nexport const NAME_BID_MAX_LENGTH = 12 // # this is the max length for a domain to be part of a bid\nexport const POINTER_KEY_BY_PREFIX = {\n ak: 'account_pubkey',\n ok: 'oracle_pubkey',\n ct: 'contract_pubkey',\n ch: 'channel'\n}\n// # https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290\n// # https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times\n// # bid ranges:\nexport const NAME_BID_RANGES = {\n 31: BigNumber(3).times(NAME_FEE_MULTIPLIER),\n 30: BigNumber(5).times(NAME_FEE_MULTIPLIER),\n 29: BigNumber(8).times(NAME_FEE_MULTIPLIER),\n 28: BigNumber(13).times(NAME_FEE_MULTIPLIER),\n 27: BigNumber(21).times(NAME_FEE_MULTIPLIER),\n 26: BigNumber(34).times(NAME_FEE_MULTIPLIER),\n 25: BigNumber(55).times(NAME_FEE_MULTIPLIER),\n 24: BigNumber(89).times(NAME_FEE_MULTIPLIER),\n 23: BigNumber(144).times(NAME_FEE_MULTIPLIER),\n 22: BigNumber(233).times(NAME_FEE_MULTIPLIER),\n 21: BigNumber(377).times(NAME_FEE_MULTIPLIER),\n 20: BigNumber(610).times(NAME_FEE_MULTIPLIER),\n 19: BigNumber(987).times(NAME_FEE_MULTIPLIER),\n 18: BigNumber(1597).times(NAME_FEE_MULTIPLIER),\n 17: BigNumber(2584).times(NAME_FEE_MULTIPLIER),\n 16: BigNumber(4181).times(NAME_FEE_MULTIPLIER),\n 15: BigNumber(6765).times(NAME_FEE_MULTIPLIER),\n 14: BigNumber(10946).times(NAME_FEE_MULTIPLIER),\n 13: BigNumber(17711).times(NAME_FEE_MULTIPLIER),\n 12: BigNumber(28657).times(NAME_FEE_MULTIPLIER),\n 11: BigNumber(46368).times(NAME_FEE_MULTIPLIER),\n 10: BigNumber(75025).times(NAME_FEE_MULTIPLIER),\n 9: BigNumber(121393).times(NAME_FEE_MULTIPLIER),\n 8: BigNumber(196418).times(NAME_FEE_MULTIPLIER),\n 7: BigNumber(317811).times(NAME_FEE_MULTIPLIER),\n 6: BigNumber(514229).times(NAME_FEE_MULTIPLIER),\n 5: BigNumber(832040).times(NAME_FEE_MULTIPLIER),\n 4: BigNumber(1346269).times(NAME_FEE_MULTIPLIER),\n 3: BigNumber(2178309).times(NAME_FEE_MULTIPLIER),\n 2: BigNumber(3524578).times(NAME_FEE_MULTIPLIER),\n 1: BigNumber(5702887).times(NAME_FEE_MULTIPLIER)\n}\n\n// # ref: https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273\n// # name bid timeouts\nexport const NAME_BID_TIMEOUTS = {\n 13: BigNumber(0),\n 12: BigNumber(NAME_BID_TIMEOUT_BLOCKS), // # 480 blocks\n 8: BigNumber(31).times(NAME_BID_TIMEOUT_BLOCKS), // # 14880 blocks\n 4: BigNumber(62).times(NAME_BID_TIMEOUT_BLOCKS) // # 29760 blocks\n}\n\n// # Tag constant for ids (type uint8)\n// # see https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type\n// # <<Tag:1/unsigned-integer-unit:8, Hash:32/binary-unit:8>>\nconst ID_TAG_ACCOUNT = 1\nconst ID_TAG_NAME = 2\nconst ID_TAG_COMMITMENT = 3\nconst ID_TAG_ORACLE = 4\nconst ID_TAG_CONTRACT = 5\nconst ID_TAG_CHANNEL = 6\n\n// # OBJECT tags\n// # see https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\nconst OBJECT_TAG_ACCOUNT = 10\nexport const OBJECT_TAG_SIGNED_TRANSACTION = 11\nconst OBJECT_TAG_SPEND_TRANSACTION = 12\nconst OBJECT_TAG_ORACLE_REGISTER_TRANSACTION = 22\nconst OBJECT_TAG_ORACLE_QUERY_TRANSACTION = 23\nconst OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION = 24\nconst OBJECT_TAG_ORACLE_EXTEND_TRANSACTION = 25\nconst OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION = 32\nconst OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION = 33\nconst OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION = 34\nconst OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION = 35\nconst OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION = 36\nconst OBJECT_TAG_CONTRACT = 40\nconst OBJECT_TAG_CONTRACT_CALL = 41\nconst OBJECT_TAG_CONTRACT_CREATE_TRANSACTION = 42\nconst OBJECT_TAG_CONTRACT_CALL_TRANSACTION = 43\nconst OBJECT_TAG_CHANNEL_CREATE_TX = 50\nconst OBJECT_TAG_CHANNEL_DEPOSIT_TX = 51\nconst OBJECT_TAG_CHANNEL_WITHRAW_TX = 52\nconst OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX = 53\nconst OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX = 54\nconst OBJECT_TAG_CHANNEL_SLASH_TX = 55\nconst OBJECT_TAG_CHANNEL_SETTLE_TX = 56\nconst OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX = 521\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_TX = 57\nconst OBJECT_TAG_CHANNEL = 58\nconst OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX = 59\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = 570\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = 571\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = 572\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = 573\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = 574\nconst OBJECT_TAG_CHANNEL_RECONNECT_TX = 575\nconst OBJECT_TAG_PROOF_OF_INCLUSION = 60\nconst OBJECT_TAG_STATE_TREES = 62\nconst OBJECT_TAG_MERKLE_PATRICIA_TREE = 63\nconst OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE = 64\nconst OBJECT_TAG_CONTRACTS_TREE = 621\nconst OBJECT_TAG_CONTRACT_CALLS_TREE = 622\nconst OBJECT_TAG_CHANNELS_TREE = 623\nconst OBJECT_TAG_NAMESERVICE_TREE = 624\nconst OBJECT_TAG_ORACLES_TREE = 625\nconst OBJECT_TAG_ACCOUNTS_TREE = 626\nconst OBJECT_TAG_GA_ATTACH = 80\nconst OBJECT_TAG_GA_META = 81\nconst OBJECT_TAG_PAYING_FOR = 82\nconst OBJECT_TAG_SOPHIA_BYTE_CODE = 70\n\nconst TX_FIELD = (name, type, prefix) => [name, type, prefix]\nconst TX_SCHEMA_FIELD = (schema, objectId) => [schema, objectId]\n\nconst revertObject = (obj) => Object.entries(obj)\n .reduce((acc, [key, v]) => (acc[v] = key) && acc, {})\n\n/**\n * @constant\n * @description Object with transaction types\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/schema\n * @property {String} signed\n * @property {String} spend\n * @property {String} nameClaim\n * @property {String} namePreClaim\n * @property {String} nameUpdate\n * @property {String} nameRevoke\n * @property {String} nameTransfer\n * @property {String} contractCreate\n * @property {String} contractCall\n * @property {String} oracleRegister\n * @property {String} oracleExtend\n * @property {String} oracleQuery\n * @property {String} oracleResponse\n */\nexport const TX_TYPE = {\n account: 'account',\n signed: 'signedTx',\n spend: 'spendTx',\n // AENS\n nameClaim: 'nameClaimTx',\n namePreClaim: 'namePreClaimTx',\n nameUpdate: 'nameUpdateTx',\n nameRevoke: 'nameRevokeTx',\n nameTransfer: 'nameTransfer',\n // CONTRACT\n contract: 'contract',\n contractCreate: 'contractCreateTx',\n contractCall: 'contractCallTx',\n contractCallResult: 'contractCallResult',\n // ORACLE\n oracleRegister: 'oracleRegister',\n oracleExtend: 'oracleExtend',\n oracleQuery: 'oracleQuery',\n oracleResponse: 'oracleResponse',\n // STATE CHANNEL\n channelCreate: 'channelCreate',\n channelCloseMutual: 'channelCloseMutual',\n channelCloseSolo: 'channelCloseSolo',\n channelSlash: 'channelSlash',\n channelDeposit: 'channelDeposit',\n channelWithdraw: 'channelWithdraw',\n channelSettle: 'channelSettle',\n channelOffChain: 'channelOffChain',\n channelForceProgress: 'channelForceProgress',\n channel: 'channel',\n channelSnapshotSolo: 'channelSnapshotSolo',\n channelOffChainUpdateTransfer: 'channelOffChainUpdateTransfer',\n channelOffChainUpdateDeposit: 'channelOffChainUpdateDeposit',\n channelOffChainUpdateWithdrawal: 'channelOffChainUpdateWithdrawal',\n channelOffChainCreateContract: 'channelOffChainCreateContract',\n channelOffChainCallContract: 'channelOffChainCallContract',\n channelReconnect: 'channelReconnect',\n proofOfInclusion: 'proofOfInclusion',\n stateTrees: 'stateTrees',\n merklePatriciaTree: 'merklePatriciaTree',\n merklePatriciaTreeValue: 'merklePatriciaTreeValue',\n contractsTree: 'contractsTree',\n contractCallsTree: 'contractCallsTree',\n channelsTree: 'channelsTree',\n nameserviceTree: 'nameserviceTree',\n oraclesTree: 'oraclesTree',\n accountsTree: 'accountsTree',\n gaAttach: 'gaAttach',\n gaMeta: 'gaMeta',\n payingFor: 'payingFor',\n sophiaByteCode: 'sophiaByteCode'\n}\n\n// # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain\nexport const VM_VERSIONS = {\n NO_VM: 0,\n SOPHIA: 1,\n SOPHIA_IMPROVEMENTS_MINERVA: 3,\n SOPHIA_IMPROVEMENTS_FORTUNA: 4,\n FATE: 5,\n SOPHIA_IMPROVEMENTS_LIMA: 6,\n FATE_2: 7\n}\n// # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain\nexport const ABI_VERSIONS = {\n NO_ABI: 0,\n SOPHIA: 1,\n FATE: 3\n}\n\nexport const PROTOCOL_VERSIONS = {\n IRIS: 5\n}\n\n// First abi/vm by default\nexport const PROTOCOL_VM_ABI = {\n [PROTOCOL_VERSIONS.IRIS]: {\n [TX_TYPE.contractCreate]: {\n vmVersion: [VM_VERSIONS.FATE_2], abiVersion: [ABI_VERSIONS.FATE]\n },\n // TODO: Ensure that AEVM is still available here\n [TX_TYPE.contractCall]: {\n vmVersion: [\n VM_VERSIONS.FATE_2,\n VM_VERSIONS.FATE,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_LIMA,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_FORTUNA,\n VM_VERSIONS.SOPHIA,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_MINERVA\n ],\n abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]\n },\n [TX_TYPE.oracleRegister]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]\n }\n }\n}\n\nexport const OBJECT_ID_TX_TYPE = {\n [OBJECT_TAG_ACCOUNT]: TX_TYPE.account,\n [OBJECT_TAG_SIGNED_TRANSACTION]: TX_TYPE.signed,\n [OBJECT_TAG_SPEND_TRANSACTION]: TX_TYPE.spend,\n // AENS\n [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: TX_TYPE.nameClaim,\n [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: TX_TYPE.namePreClaim,\n [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: TX_TYPE.nameUpdate,\n [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: TX_TYPE.nameRevoke,\n [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: TX_TYPE.nameTransfer,\n // CONTRACT\n [OBJECT_TAG_CONTRACT]: TX_TYPE.contract,\n [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: TX_TYPE.contractCreate,\n [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: TX_TYPE.contractCall,\n [OBJECT_TAG_CONTRACT_CALL]: TX_TYPE.contractCallResult,\n // ORACLE\n [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: TX_TYPE.oracleRegister,\n [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: TX_TYPE.oracleExtend,\n [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: TX_TYPE.oracleQuery,\n [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: TX_TYPE.oracleResponse,\n // STATE CHANNEL\n [OBJECT_TAG_CHANNEL_CREATE_TX]: TX_TYPE.channelCreate,\n [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: TX_TYPE.channelCloseMutual,\n [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: TX_TYPE.channelCloseSolo,\n [OBJECT_TAG_CHANNEL_SLASH_TX]: TX_TYPE.channelSlash,\n [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: TX_TYPE.channelForceProgress,\n [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: TX_TYPE.channelDeposit,\n [OBJECT_TAG_CHANNEL_WITHRAW_TX]: TX_TYPE.channelWithdraw,\n [OBJECT_TAG_CHANNEL_SETTLE_TX]: TX_TYPE.channelSettle,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: TX_TYPE.channelOffChain,\n [OBJECT_TAG_CHANNEL]: TX_TYPE.channel,\n [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: TX_TYPE.channelSnapshotSolo,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: TX_TYPE.channelOffChainUpdateTransfer,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: TX_TYPE.channelOffChainUpdateDeposit,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: TX_TYPE.channelOffChainUpdateWithdrawal,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: TX_TYPE.channelOffChainCreateContract,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: TX_TYPE.channelOffChainCallContract,\n [OBJECT_TAG_CHANNEL_RECONNECT_TX]: TX_TYPE.channelReconnect,\n [OBJECT_TAG_PROOF_OF_INCLUSION]: TX_TYPE.proofOfInclusion,\n [OBJECT_TAG_STATE_TREES]: TX_TYPE.stateTrees,\n [OBJECT_TAG_MERKLE_PATRICIA_TREE]: TX_TYPE.merklePatriciaTree,\n [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: TX_TYPE.merklePatriciaTreeValue,\n [OBJECT_TAG_CONTRACTS_TREE]: TX_TYPE.contractsTree,\n [OBJECT_TAG_CONTRACT_CALLS_TREE]: TX_TYPE.contractCallsTree,\n [OBJECT_TAG_CHANNELS_TREE]: TX_TYPE.channelsTree,\n [OBJECT_TAG_NAMESERVICE_TREE]: TX_TYPE.nameserviceTree,\n [OBJECT_TAG_ORACLES_TREE]: TX_TYPE.oraclesTree,\n [OBJECT_TAG_ACCOUNTS_TREE]: TX_TYPE.accountsTree,\n [OBJECT_TAG_GA_ATTACH]: TX_TYPE.gaAttach,\n [OBJECT_TAG_GA_META]: TX_TYPE.gaMeta,\n [OBJECT_TAG_PAYING_FOR]: TX_TYPE.payingFor,\n [OBJECT_TAG_SOPHIA_BYTE_CODE]: TX_TYPE.sophiaByteCode\n}\n\nexport const FIELD_TYPES = {\n int: 'int',\n amount: 'amount',\n id: 'id',\n ids: 'ids',\n string: 'string',\n binary: 'binary',\n rlpBinary: 'rlpBinary',\n rlpBinaries: 'rlpBinaries',\n rawBinary: 'rawBinary',\n bool: 'bool',\n hex: 'hex',\n signatures: 'signatures',\n pointers: 'pointers',\n offChainUpdates: 'offChainUpdates',\n callStack: 'callStack',\n proofOfInclusion: 'proofOfInclusion',\n mptrees: 'mptrees',\n callReturnType: 'callReturnType',\n ctVersion: 'ctVersion',\n sophiaCodeTypeInfo: 'sophiaCodeTypeInfo',\n payload: 'payload',\n any: 'any',\n stateTree: 'stateTree'\n}\n\n// FEE CALCULATION\nexport const BASE_GAS = 15000\nexport const GAS_PER_BYTE = 20\nexport const DEFAULT_FEE = 20000\nexport const KEY_BLOCK_INTERVAL = 3\n\n// MAP WITH FEE CALCULATION https://github.com/aeternity/protocol/blob/master/consensus/consensus.md#gas\nexport const TX_FEE_BASE_GAS = (txType) => {\n const factor = ({\n [TX_TYPE.channelForceProgress]: 30,\n [TX_TYPE.channelOffChain]: 0,\n [TX_TYPE.channelOffChainCallContract]: 0,\n [TX_TYPE.channelOffChainCreateContract]: 0,\n [TX_TYPE.channelOffChainUpdateDeposit]: 0,\n [TX_TYPE.channelOffChainUpdateWithdrawal]: 0,\n [TX_TYPE.channelOffChainUpdateTransfer]: 0,\n [TX_TYPE.contractCreate]: 5,\n [TX_TYPE.contractCall]: 12,\n [TX_TYPE.gaAttach]: 5,\n [TX_TYPE.gaMeta]: 5,\n [TX_TYPE.payingFor]: 1 / 5\n })[txType] || 1\n return new BigNumber(factor * BASE_GAS)\n}\n\nexport const TX_FEE_OTHER_GAS = (txType, txSize, { relativeTtl, innerTxSize }) => {\n switch (txType) {\n case TX_TYPE.oracleRegister:\n case TX_TYPE.oracleExtend:\n case TX_TYPE.oracleQuery:\n case TX_TYPE.oracleResponse:\n return new BigNumber(txSize)\n .times(GAS_PER_BYTE)\n .plus(\n Math.ceil(32000 * relativeTtl / Math.floor(60 * 24 * 365 / KEY_BLOCK_INTERVAL))\n )\n case TX_TYPE.gaMeta:\n case TX_TYPE.payingFor:\n return new BigNumber(txSize).minus(innerTxSize).times(GAS_PER_BYTE)\n default:\n return new BigNumber(txSize).times(GAS_PER_BYTE)\n }\n}\n\nexport const ID_TAG = {\n account: ID_TAG_ACCOUNT,\n name: ID_TAG_NAME,\n commitment: ID_TAG_COMMITMENT,\n oracle: ID_TAG_ORACLE,\n contract: ID_TAG_CONTRACT,\n channel: ID_TAG_CHANNEL\n}\nexport const PREFIX_ID_TAG = {\n ak: ID_TAG.account,\n nm: ID_TAG.name,\n cm: ID_TAG.commitment,\n ok: ID_TAG.oracle,\n ct: ID_TAG.contract,\n ch: ID_TAG.channel\n}\nexport const ID_TAG_PREFIX = revertObject(PREFIX_ID_TAG)\n\nconst BASE_TX = [\n TX_FIELD('tag', FIELD_TYPES.int),\n TX_FIELD('VSN', FIELD_TYPES.int)\n]\n\nexport const CONTRACT_BYTE_CODE_LIMA = [\n ...BASE_TX,\n TX_FIELD('sourceCodeHash', FIELD_TYPES.rawBinary),\n TX_FIELD('typeInfo', FIELD_TYPES.sophiaCodeTypeInfo),\n TX_FIELD('byteCode', FIELD_TYPES.rawBinary),\n TX_FIELD('compilerVersion', FIELD_TYPES.string),\n TX_FIELD('payable', FIELD_TYPES.bool)\n]\n\nconst ACCOUNT_TX_2 = [\n ...BASE_TX,\n TX_FIELD('flags', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('balance', FIELD_TYPES.int),\n TX_FIELD('gaContract', FIELD_TYPES.id, ['ct', 'nm']),\n TX_FIELD('gaAuthFun', FIELD_TYPES.binary, 'cb')\n]\n\nconst SPEND_TX = [\n ...BASE_TX,\n TX_FIELD('senderId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('payload', FIELD_TYPES.payload)\n]\n\nconst SIGNED_TX = [\n ...BASE_TX,\n TX_FIELD('signatures', FIELD_TYPES.signatures),\n TX_FIELD('encodedTx', FIELD_TYPES.rlpBinary)\n]\n\nconst NAME_PRE_CLAIM_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('commitmentId', FIELD_TYPES.id, 'cm'),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_CLAIM_TX_2 = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('name', Name),\n TX_FIELD('nameSalt', FIELD_TYPES.int),\n TX_FIELD('nameFee', NameFee),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_UPDATE_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', NameId),\n TX_FIELD('nameTtl', FIELD_TYPES.int),\n TX_FIELD('pointers', FIELD_TYPES.pointers),\n TX_FIELD('clientTtl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_TRANSFER_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', NameId),\n TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_REVOKE_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', NameId),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('owner', FIELD_TYPES.id, 'ak'),\n TX_FIELD('ctVersion', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('log', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('active', FIELD_TYPES.bool),\n TX_FIELD('referers', FIELD_TYPES.ids, 'ak'),\n TX_FIELD('deposit', Deposit)\n]\n\nconst GA_ATTACH_TX = [\n ...BASE_TX,\n TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('authFun', FIELD_TYPES.rawBinary),\n TX_FIELD('ctVersion', FIELD_TYPES.ctVersion),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst GA_META_TX_2 = [\n ...BASE_TX,\n TX_FIELD('gaId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('authData', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('tx', FIELD_TYPES.rlpBinary)\n]\n\nconst PAYING_FOR_TX = [\n ...BASE_TX,\n TX_FIELD('payerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('tx', FIELD_TYPES.rlpBinary)\n]\n\nconst CONTRACT_CREATE_TX = [\n ...BASE_TX,\n TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('ctVersion', FIELD_TYPES.ctVersion),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('deposit', Deposit),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CONTRACT_CALL_TX = [\n ...BASE_TX,\n TX_FIELD('callerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('contractId', FIELD_TYPES.id, ['ct', 'nm']),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CONTRACT_CALL_RESULT_TX = [\n ...BASE_TX,\n TX_FIELD('callerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('callerNonce', FIELD_TYPES.int),\n TX_FIELD('height', FIELD_TYPES.int),\n TX_FIELD('contractId', FIELD_TYPES.id, 'ct'),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('gasUsed', FIELD_TYPES.int),\n TX_FIELD('returnValue', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('returnType', FIELD_TYPES.callReturnType),\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]\n TX_FIELD('log', FIELD_TYPES.rawBinary)\n]\n\nconst ORACLE_REGISTER_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('queryFormat', FIELD_TYPES.string),\n TX_FIELD('responseFormat', FIELD_TYPES.string),\n TX_FIELD('queryFee', FIELD_TYPES.amount),\n TX_FIELD('oracleTtlType', FIELD_TYPES.int),\n TX_FIELD('oracleTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('abiVersion', FIELD_TYPES.int)\n]\n\nconst ORACLE_EXTEND_TX = [\n ...BASE_TX,\n TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('oracleTtlType', FIELD_TYPES.int),\n TX_FIELD('oracleTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst ORACLE_QUERY_TX = [\n ...BASE_TX,\n TX_FIELD('senderId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']),\n TX_FIELD('query', FIELD_TYPES.string),\n TX_FIELD('queryFee', FIELD_TYPES.amount),\n TX_FIELD('queryTtlType', FIELD_TYPES.int),\n TX_FIELD('queryTtlValue', FIELD_TYPES.int),\n TX_FIELD('responseTtlType', FIELD_TYPES.int),\n TX_FIELD('responseTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\nconst ORACLE_RESPOND_TX = [\n ...BASE_TX,\n TX_FIELD('oracleId', FIELD_TYPES.id, 'ok'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('queryId', FIELD_TYPES.binary, 'oq'),\n TX_FIELD('response', FIELD_TYPES.string),\n TX_FIELD('responseTtlType', FIELD_TYPES.int),\n TX_FIELD('responseTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CREATE_TX_2 = [\n ...BASE_TX,\n TX_FIELD('initiator', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmount', FIELD_TYPES.int),\n TX_FIELD('responder', FIELD_TYPES.id, 'ak'),\n TX_FIELD('responderAmount', FIELD_TYPES.int),\n TX_FIELD('channelReserve', FIELD_TYPES.int),\n TX_FIELD('lockPeriod', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('initiatorDelegateIds', FIELD_TYPES.string),\n TX_FIELD('responderDelegateIds', FIELD_TYPES.string),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_DEPOSIT_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_WITHDRAW_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('toId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CLOSE_MUTUAL_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int),\n TX_FIELD('responderAmountFinal', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CLOSE_SOLO_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('poi', FIELD_TYPES.binary, 'pi'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_SLASH_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('poi', FIELD_TYPES.binary, 'pi'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_SETTLE_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int),\n TX_FIELD('responderAmountFinal', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_FORCE_PROGRESS_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('update', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('offChainTrees', FIELD_TYPES.stateTree),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_TX_2 = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st')\n]\n\nconst CHANNEL_TX_3 = [\n ...BASE_TX,\n TX_FIELD('initiator', FIELD_TYPES.id, 'ak'),\n TX_FIELD('responder', FIELD_TYPES.id, 'ak'),\n TX_FIELD('channelAmount', FIELD_TYPES.int),\n TX_FIELD('initiatorAmount', FIELD_TYPES.int),\n TX_FIELD('responderAmount', FIELD_TYPES.int),\n TX_FIELD('channelReserve', FIELD_TYPES.int),\n TX_FIELD('initiatorDelegateIds', FIELD_TYPES.ids),\n TX_FIELD('responderDelegateIds', FIELD_TYPES.ids),\n TX_FIELD('stateHash', FIELD_TYPES.hex),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('soloRound', FIELD_TYPES.int),\n TX_FIELD('lockPeriod', FIELD_TYPES.int),\n TX_FIELD('lockedUntil', FIELD_TYPES.int),\n TX_FIELD('initiatorAuth', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('responderAuth', FIELD_TYPES.binary, 'cb')\n]\n\nconst CHANNEL_SNAPSHOT_SOLO_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('owner', FIELD_TYPES.id, 'ak'),\n TX_FIELD('ctVersion', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('deposit', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('caller', FIELD_TYPES.id, 'ak'),\n TX_FIELD('contract', FIELD_TYPES.id, 'ct'),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('callStack', FIELD_TYPES.callStack),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('gasLimit', FIELD_TYPES.int)\n]\n\nconst CHANNEL_RECONNECT_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('role', FIELD_TYPES.string),\n TX_FIELD('pubkey', FIELD_TYPES.id, 'ak')\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('to', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst PROOF_OF_INCLUSION_TX = [\n ...BASE_TX,\n TX_FIELD('accounts', FIELD_TYPES.mptrees),\n TX_FIELD('calls', FIELD_TYPES.mptrees),\n TX_FIELD('channels', FIELD_TYPES.mptrees),\n TX_FIELD('contracts', FIELD_TYPES.mptrees),\n TX_FIELD('ns', FIELD_TYPES.mptrees),\n TX_FIELD('oracles', FIELD_TYPES.mptrees)\n]\n\nconst STATE_TREES_TX = [\n ...BASE_TX,\n TX_FIELD('contracts', FIELD_TYPES.rlpBinary),\n TX_FIELD('calls', FIELD_TYPES.rlpBinary),\n TX_FIELD('channels', FIELD_TYPES.rlpBinary),\n TX_FIELD('ns', FIELD_TYPES.rlpBinary),\n TX_FIELD('oracles', FIELD_TYPES.rlpBinary),\n TX_FIELD('accounts', FIELD_TYPES.rlpBinary)\n]\n\nconst MERKLE_PATRICIA_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('values', FIELD_TYPES.rlpBinaries)\n]\n\nconst MERKLE_PATRICIA_TREE_VALUE_TX = [\n ...BASE_TX,\n TX_FIELD('key', FIELD_TYPES.hex),\n TX_FIELD('value', FIELD_TYPES.rawBinary)\n]\n\nconst CONTRACTS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('contracts', FIELD_TYPES.rlpBinary)\n]\n\nconst CONTRACT_CALLS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('calls', FIELD_TYPES.rlpBinary)\n]\n\nconst CHANNELS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('channels', FIELD_TYPES.rlpBinary)\n]\n\nconst NAMESERVICE_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('mtree', FIELD_TYPES.rlpBinary)\n]\n\nconst ORACLES_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('otree', FIELD_TYPES.rlpBinary)\n]\n\nconst ACCOUNTS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('accounts', FIELD_TYPES.rlpBinary)\n]\n\nexport const TX_SERIALIZATION_SCHEMA = {\n [TX_TYPE.account]: {\n 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)\n },\n [TX_TYPE.signed]: {\n 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)\n },\n [TX_TYPE.spend]: {\n 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)\n },\n [TX_TYPE.namePreClaim]: {\n 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)\n },\n [TX_TYPE.nameClaim]: {\n 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)\n },\n [TX_TYPE.nameUpdate]: {\n 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)\n },\n [TX_TYPE.nameTransfer]: {\n 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)\n },\n [TX_TYPE.nameRevoke]: {\n 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)\n },\n [TX_TYPE.contract]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)\n },\n [TX_TYPE.contractCreate]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)\n },\n [TX_TYPE.contractCall]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)\n },\n [TX_TYPE.contractCallResult]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)\n },\n [TX_TYPE.oracleRegister]: {\n 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)\n },\n [TX_TYPE.oracleExtend]: {\n 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)\n },\n [TX_TYPE.oracleQuery]: {\n 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)\n },\n [TX_TYPE.oracleResponse]: {\n 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)\n },\n [TX_TYPE.channelCreate]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)\n },\n [TX_TYPE.channelCloseMutual]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)\n },\n [TX_TYPE.channelCloseSolo]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)\n },\n [TX_TYPE.channelSlash]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)\n },\n [TX_TYPE.channelDeposit]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)\n },\n [TX_TYPE.channelWithdraw]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)\n },\n [TX_TYPE.channelSettle]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)\n },\n [TX_TYPE.channelForceProgress]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)\n },\n [TX_TYPE.channelOffChain]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)\n },\n [TX_TYPE.channel]: {\n 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)\n },\n [TX_TYPE.channelSnapshotSolo]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)\n },\n [TX_TYPE.channelOffChainUpdateTransfer]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX\n )\n },\n [TX_TYPE.channelOffChainUpdateDeposit]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX\n )\n },\n [TX_TYPE.channelOffChainUpdateWithdrawal]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX\n )\n },\n [TX_TYPE.channelOffChainCreateContract]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX\n )\n },\n [TX_TYPE.channelOffChainCallContract]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX\n )\n },\n [TX_TYPE.channelReconnect]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)\n },\n [TX_TYPE.proofOfInclusion]: {\n 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)\n },\n [TX_TYPE.stateTrees]: {\n 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)\n },\n [TX_TYPE.merklePatriciaTree]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)\n },\n [TX_TYPE.merklePatriciaTreeValue]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)\n },\n [TX_TYPE.contractsTree]: {\n 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)\n },\n [TX_TYPE.contractCallsTree]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)\n },\n [TX_TYPE.channelsTree]: {\n 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)\n },\n [TX_TYPE.nameserviceTree]: {\n 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)\n },\n [TX_TYPE.oraclesTree]: {\n 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)\n },\n [TX_TYPE.accountsTree]: {\n 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)\n },\n [TX_TYPE.gaAttach]: {\n 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)\n },\n [TX_TYPE.gaMeta]: {\n 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)\n },\n [TX_TYPE.payingFor]: {\n 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)\n }\n}\n\nexport const TX_DESERIALIZATION_SCHEMA = {\n [OBJECT_TAG_ACCOUNT]: {\n 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)\n },\n [OBJECT_TAG_SIGNED_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)\n },\n [OBJECT_TAG_SPEND_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: {\n 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)\n },\n [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT_CALL]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)\n },\n [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)\n },\n [OBJECT_TAG_CHANNEL_CREATE_TX]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)\n },\n [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)\n },\n [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)\n },\n [OBJECT_TAG_CHANNEL_SLASH_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)\n },\n [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)\n },\n [OBJECT_TAG_CHANNEL_WITHRAW_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)\n },\n [OBJECT_TAG_CHANNEL_SETTLE_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)\n },\n [OBJECT_TAG_CHANNEL]: {\n 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)\n },\n [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_RECONNECT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)\n },\n [OBJECT_TAG_PROOF_OF_INCLUSION]: {\n 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)\n },\n [OBJECT_TAG_STATE_TREES]: {\n 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)\n },\n [OBJECT_TAG_MERKLE_PATRICIA_TREE]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)\n },\n [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)\n },\n [OBJECT_TAG_CONTRACTS_TREE]: {\n 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)\n },\n [OBJECT_TAG_CONTRACT_CALLS_TREE]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)\n },\n [OBJECT_TAG_CHANNELS_TREE]: {\n 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)\n },\n [OBJECT_TAG_NAMESERVICE_TREE]: {\n 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)\n },\n [OBJECT_TAG_ORACLES_TREE]: {\n 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)\n },\n [OBJECT_TAG_ACCOUNTS_TREE]: {\n 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)\n },\n [OBJECT_TAG_GA_ATTACH]: {\n 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)\n },\n [OBJECT_TAG_GA_META]: {\n 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)\n },\n [OBJECT_TAG_PAYING_FOR]: {\n 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)\n },\n [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)\n },\n [OBJECT_TAG_SOPHIA_BYTE_CODE]: {\n 3: TX_SCHEMA_FIELD(CONTRACT_BYTE_CODE_LIMA, OBJECT_TAG_SOPHIA_BYTE_CODE)\n }\n}\n"],"file":"schema.mjs"}
|
|
1
|
+
{"version":3,"sources":["../../../src/tx/builder/schema.js"],"names":["BigNumber","Name","NameId","NameFee","Deposit","VSN","VSN_2","TX_TTL","QUERY_FEE","ORACLE_TTL","type","value","QUERY_TTL","RESPONSE_TTL","AMOUNT","GAS_MAX","MIN_GAS_PRICE","MAX_AUTH_FUN_GAS","DRY_RUN_ACCOUNT","pub","amount","OBJECT_TAG_ACCOUNT","OBJECT_TAG_SIGNED_TRANSACTION","OBJECT_TAG_SPEND_TRANSACTION","OBJECT_TAG_ORACLE_REGISTER_TRANSACTION","OBJECT_TAG_ORACLE_QUERY_TRANSACTION","OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION","OBJECT_TAG_ORACLE_EXTEND_TRANSACTION","OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION","OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION","OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION","OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION","OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION","OBJECT_TAG_CONTRACT","OBJECT_TAG_CONTRACT_CALL","OBJECT_TAG_CONTRACT_CREATE_TRANSACTION","OBJECT_TAG_CONTRACT_CALL_TRANSACTION","OBJECT_TAG_CHANNEL_CREATE_TX","OBJECT_TAG_CHANNEL_DEPOSIT_TX","OBJECT_TAG_CHANNEL_WITHRAW_TX","OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX","OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX","OBJECT_TAG_CHANNEL_SLASH_TX","OBJECT_TAG_CHANNEL_SETTLE_TX","OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_TX","OBJECT_TAG_CHANNEL","OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX","OBJECT_TAG_CHANNEL_RECONNECT_TX","OBJECT_TAG_PROOF_OF_INCLUSION","OBJECT_TAG_STATE_TREES","OBJECT_TAG_MERKLE_PATRICIA_TREE","OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE","OBJECT_TAG_CONTRACTS_TREE","OBJECT_TAG_CONTRACT_CALLS_TREE","OBJECT_TAG_CHANNELS_TREE","OBJECT_TAG_NAMESERVICE_TREE","OBJECT_TAG_ORACLES_TREE","OBJECT_TAG_ACCOUNTS_TREE","OBJECT_TAG_GA_ATTACH","OBJECT_TAG_GA_META","OBJECT_TAG_PAYING_FOR","OBJECT_TAG_SOPHIA_BYTE_CODE","TX_FIELD","name","prefix","TX_SCHEMA_FIELD","schema","objectId","TX_TYPE","account","signed","spend","nameClaim","namePreClaim","nameUpdate","nameRevoke","nameTransfer","contract","contractCreate","contractCall","contractCallResult","oracleRegister","oracleExtend","oracleQuery","oracleResponse","channelCreate","channelCloseMutual","channelCloseSolo","channelSlash","channelDeposit","channelWithdraw","channelSettle","channelOffChain","channelForceProgress","channel","channelSnapshotSolo","channelOffChainUpdateTransfer","channelOffChainUpdateDeposit","channelOffChainUpdateWithdrawal","channelOffChainCreateContract","channelOffChainCallContract","channelReconnect","proofOfInclusion","stateTrees","merklePatriciaTree","merklePatriciaTreeValue","contractsTree","contractCallsTree","channelsTree","nameserviceTree","oraclesTree","accountsTree","gaAttach","gaMeta","payingFor","sophiaByteCode","VM_VERSIONS","NO_VM","SOPHIA","SOPHIA_IMPROVEMENTS_MINERVA","SOPHIA_IMPROVEMENTS_FORTUNA","FATE","SOPHIA_IMPROVEMENTS_LIMA","FATE_2","ABI_VERSIONS","NO_ABI","PROTOCOL_VERSIONS","IRIS","PROTOCOL_VM_ABI","vmVersion","abiVersion","OBJECT_ID_TX_TYPE","FIELD_TYPES","int","id","ids","string","binary","rlpBinary","rlpBinaries","rawBinary","bool","hex","signatures","pointers","offChainUpdates","callStack","mptrees","callReturnType","ctVersion","sophiaCodeTypeInfo","payload","any","stateTree","BASE_GAS","GAS_PER_BYTE","DEFAULT_FEE","KEY_BLOCK_INTERVAL","TX_FEE_BASE_GAS","txType","factor","TX_FEE_OTHER_GAS","txSize","relativeTtl","innerTxSize","times","plus","Math","ceil","floor","minus","BASE_TX","CONTRACT_BYTE_CODE_LIMA","ACCOUNT_TX_2","SPEND_TX","SIGNED_TX","NAME_PRE_CLAIM_TX","NAME_CLAIM_TX_2","NAME_UPDATE_TX","NAME_TRANSFER_TX","NAME_REVOKE_TX","CONTRACT_TX","GA_ATTACH_TX","GA_META_TX_2","PAYING_FOR_TX","CONTRACT_CREATE_TX","CONTRACT_CALL_TX","CONTRACT_CALL_RESULT_TX","ORACLE_REGISTER_TX","ORACLE_EXTEND_TX","ORACLE_QUERY_TX","ORACLE_RESPOND_TX","CHANNEL_CREATE_TX_2","CHANNEL_DEPOSIT_TX","CHANNEL_WITHDRAW_TX","CHANNEL_CLOSE_MUTUAL_TX","CHANNEL_CLOSE_SOLO_TX","CHANNEL_SLASH_TX","CHANNEL_SETTLE_TX","CHANNEL_FORCE_PROGRESS_TX","CHANNEL_OFFCHAIN_TX_2","CHANNEL_TX_3","CHANNEL_SNAPSHOT_SOLO_TX","CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX","CHANNEL_OFFCHAIN_CALL_CONTRACT_TX","CHANNEL_RECONNECT_TX","CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX","CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX","CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX","PROOF_OF_INCLUSION_TX","STATE_TREES_TX","MERKLE_PATRICIA_TREE_TX","MERKLE_PATRICIA_TREE_VALUE_TX","CONTRACTS_TREE_TX","CONTRACT_CALLS_TREE_TX","CHANNELS_TREE_TX","NAMESERVICE_TREE_TX","ORACLES_TREE_TX","ACCOUNTS_TREE_TX","TX_SERIALIZATION_SCHEMA","TX_DESERIALIZATION_SCHEMA"],"mappings":"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","sourcesContent":["/**\n * Transaction Schema for TxBuilder\n * @module @aeternity/aepp-sdk/es/tx/builder/schema\n * @export TxSchema\n * @example import { SCHEMA } from '@aeternity/aepp-sdk'\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport BigNumber from 'bignumber.js'\nimport { Name, NameId, NameFee, Deposit } from './field-types'\n\nexport * from './constants'\nexport const VSN = 1\nexport const VSN_2 = 2\n\n// # TRANSACTION DEFAULT TTL\nexport const TX_TTL = 0\n// # ORACLE\nexport const QUERY_FEE = 30000\nexport const ORACLE_TTL = { type: 'delta', value: 500 }\nexport const QUERY_TTL = { type: 'delta', value: 10 }\nexport const RESPONSE_TTL = { type: 'delta', value: 10 }\n// # CONTRACT\nexport const AMOUNT = 0\nexport const GAS_MAX = 1600000 - 21000\nexport const MIN_GAS_PRICE = 1e9\nexport const MAX_AUTH_FUN_GAS = 50000\nexport const DRY_RUN_ACCOUNT = { pub: 'ak_11111111111111111111111111111111273Yts', amount: '100000000000000000000000000000000000' }\n\n// # OBJECT tags\n// # see https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\nconst OBJECT_TAG_ACCOUNT = 10\nexport const OBJECT_TAG_SIGNED_TRANSACTION = 11\nconst OBJECT_TAG_SPEND_TRANSACTION = 12\nconst OBJECT_TAG_ORACLE_REGISTER_TRANSACTION = 22\nconst OBJECT_TAG_ORACLE_QUERY_TRANSACTION = 23\nconst OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION = 24\nconst OBJECT_TAG_ORACLE_EXTEND_TRANSACTION = 25\nconst OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION = 32\nconst OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION = 33\nconst OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION = 34\nconst OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION = 35\nconst OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION = 36\nconst OBJECT_TAG_CONTRACT = 40\nconst OBJECT_TAG_CONTRACT_CALL = 41\nconst OBJECT_TAG_CONTRACT_CREATE_TRANSACTION = 42\nconst OBJECT_TAG_CONTRACT_CALL_TRANSACTION = 43\nconst OBJECT_TAG_CHANNEL_CREATE_TX = 50\nconst OBJECT_TAG_CHANNEL_DEPOSIT_TX = 51\nconst OBJECT_TAG_CHANNEL_WITHRAW_TX = 52\nconst OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX = 53\nconst OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX = 54\nconst OBJECT_TAG_CHANNEL_SLASH_TX = 55\nconst OBJECT_TAG_CHANNEL_SETTLE_TX = 56\nconst OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX = 521\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_TX = 57\nconst OBJECT_TAG_CHANNEL = 58\nconst OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX = 59\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = 570\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = 571\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = 572\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = 573\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = 574\nconst OBJECT_TAG_CHANNEL_RECONNECT_TX = 575\nconst OBJECT_TAG_PROOF_OF_INCLUSION = 60\nconst OBJECT_TAG_STATE_TREES = 62\nconst OBJECT_TAG_MERKLE_PATRICIA_TREE = 63\nconst OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE = 64\nconst OBJECT_TAG_CONTRACTS_TREE = 621\nconst OBJECT_TAG_CONTRACT_CALLS_TREE = 622\nconst OBJECT_TAG_CHANNELS_TREE = 623\nconst OBJECT_TAG_NAMESERVICE_TREE = 624\nconst OBJECT_TAG_ORACLES_TREE = 625\nconst OBJECT_TAG_ACCOUNTS_TREE = 626\nconst OBJECT_TAG_GA_ATTACH = 80\nconst OBJECT_TAG_GA_META = 81\nconst OBJECT_TAG_PAYING_FOR = 82\nconst OBJECT_TAG_SOPHIA_BYTE_CODE = 70\n\nconst TX_FIELD = (name, type, prefix) => [name, type, prefix]\nconst TX_SCHEMA_FIELD = (schema, objectId) => [schema, objectId]\n\n/**\n * @constant\n * @description Object with transaction types\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/schema\n * @property {String} signed\n * @property {String} spend\n * @property {String} nameClaim\n * @property {String} namePreClaim\n * @property {String} nameUpdate\n * @property {String} nameRevoke\n * @property {String} nameTransfer\n * @property {String} contractCreate\n * @property {String} contractCall\n * @property {String} oracleRegister\n * @property {String} oracleExtend\n * @property {String} oracleQuery\n * @property {String} oracleResponse\n */\nexport const TX_TYPE = {\n account: 'account',\n signed: 'signedTx',\n spend: 'spendTx',\n // AENS\n nameClaim: 'nameClaimTx',\n namePreClaim: 'namePreClaimTx',\n nameUpdate: 'nameUpdateTx',\n nameRevoke: 'nameRevokeTx',\n nameTransfer: 'nameTransfer',\n // CONTRACT\n contract: 'contract',\n contractCreate: 'contractCreateTx',\n contractCall: 'contractCallTx',\n contractCallResult: 'contractCallResult',\n // ORACLE\n oracleRegister: 'oracleRegister',\n oracleExtend: 'oracleExtend',\n oracleQuery: 'oracleQuery',\n oracleResponse: 'oracleResponse',\n // STATE CHANNEL\n channelCreate: 'channelCreate',\n channelCloseMutual: 'channelCloseMutual',\n channelCloseSolo: 'channelCloseSolo',\n channelSlash: 'channelSlash',\n channelDeposit: 'channelDeposit',\n channelWithdraw: 'channelWithdraw',\n channelSettle: 'channelSettle',\n channelOffChain: 'channelOffChain',\n channelForceProgress: 'channelForceProgress',\n channel: 'channel',\n channelSnapshotSolo: 'channelSnapshotSolo',\n channelOffChainUpdateTransfer: 'channelOffChainUpdateTransfer',\n channelOffChainUpdateDeposit: 'channelOffChainUpdateDeposit',\n channelOffChainUpdateWithdrawal: 'channelOffChainUpdateWithdrawal',\n channelOffChainCreateContract: 'channelOffChainCreateContract',\n channelOffChainCallContract: 'channelOffChainCallContract',\n channelReconnect: 'channelReconnect',\n proofOfInclusion: 'proofOfInclusion',\n stateTrees: 'stateTrees',\n merklePatriciaTree: 'merklePatriciaTree',\n merklePatriciaTreeValue: 'merklePatriciaTreeValue',\n contractsTree: 'contractsTree',\n contractCallsTree: 'contractCallsTree',\n channelsTree: 'channelsTree',\n nameserviceTree: 'nameserviceTree',\n oraclesTree: 'oraclesTree',\n accountsTree: 'accountsTree',\n gaAttach: 'gaAttach',\n gaMeta: 'gaMeta',\n payingFor: 'payingFor',\n sophiaByteCode: 'sophiaByteCode'\n}\n\n// # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain\nexport const VM_VERSIONS = {\n NO_VM: 0,\n SOPHIA: 1,\n SOPHIA_IMPROVEMENTS_MINERVA: 3,\n SOPHIA_IMPROVEMENTS_FORTUNA: 4,\n FATE: 5,\n SOPHIA_IMPROVEMENTS_LIMA: 6,\n FATE_2: 7\n}\n// # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain\nexport const ABI_VERSIONS = {\n NO_ABI: 0,\n SOPHIA: 1,\n FATE: 3\n}\n\nexport const PROTOCOL_VERSIONS = {\n IRIS: 5\n}\n\n// First abi/vm by default\nexport const PROTOCOL_VM_ABI = {\n [PROTOCOL_VERSIONS.IRIS]: {\n [TX_TYPE.contractCreate]: {\n vmVersion: [VM_VERSIONS.FATE_2], abiVersion: [ABI_VERSIONS.FATE]\n },\n // TODO: Ensure that AEVM is still available here\n [TX_TYPE.contractCall]: {\n vmVersion: [\n VM_VERSIONS.FATE_2,\n VM_VERSIONS.FATE,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_LIMA,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_FORTUNA,\n VM_VERSIONS.SOPHIA,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_MINERVA\n ],\n abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]\n },\n [TX_TYPE.oracleRegister]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]\n }\n }\n}\n\nexport const OBJECT_ID_TX_TYPE = {\n [OBJECT_TAG_ACCOUNT]: TX_TYPE.account,\n [OBJECT_TAG_SIGNED_TRANSACTION]: TX_TYPE.signed,\n [OBJECT_TAG_SPEND_TRANSACTION]: TX_TYPE.spend,\n // AENS\n [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: TX_TYPE.nameClaim,\n [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: TX_TYPE.namePreClaim,\n [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: TX_TYPE.nameUpdate,\n [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: TX_TYPE.nameRevoke,\n [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: TX_TYPE.nameTransfer,\n // CONTRACT\n [OBJECT_TAG_CONTRACT]: TX_TYPE.contract,\n [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: TX_TYPE.contractCreate,\n [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: TX_TYPE.contractCall,\n [OBJECT_TAG_CONTRACT_CALL]: TX_TYPE.contractCallResult,\n // ORACLE\n [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: TX_TYPE.oracleRegister,\n [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: TX_TYPE.oracleExtend,\n [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: TX_TYPE.oracleQuery,\n [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: TX_TYPE.oracleResponse,\n // STATE CHANNEL\n [OBJECT_TAG_CHANNEL_CREATE_TX]: TX_TYPE.channelCreate,\n [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: TX_TYPE.channelCloseMutual,\n [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: TX_TYPE.channelCloseSolo,\n [OBJECT_TAG_CHANNEL_SLASH_TX]: TX_TYPE.channelSlash,\n [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: TX_TYPE.channelForceProgress,\n [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: TX_TYPE.channelDeposit,\n [OBJECT_TAG_CHANNEL_WITHRAW_TX]: TX_TYPE.channelWithdraw,\n [OBJECT_TAG_CHANNEL_SETTLE_TX]: TX_TYPE.channelSettle,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: TX_TYPE.channelOffChain,\n [OBJECT_TAG_CHANNEL]: TX_TYPE.channel,\n [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: TX_TYPE.channelSnapshotSolo,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: TX_TYPE.channelOffChainUpdateTransfer,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: TX_TYPE.channelOffChainUpdateDeposit,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: TX_TYPE.channelOffChainUpdateWithdrawal,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: TX_TYPE.channelOffChainCreateContract,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: TX_TYPE.channelOffChainCallContract,\n [OBJECT_TAG_CHANNEL_RECONNECT_TX]: TX_TYPE.channelReconnect,\n [OBJECT_TAG_PROOF_OF_INCLUSION]: TX_TYPE.proofOfInclusion,\n [OBJECT_TAG_STATE_TREES]: TX_TYPE.stateTrees,\n [OBJECT_TAG_MERKLE_PATRICIA_TREE]: TX_TYPE.merklePatriciaTree,\n [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: TX_TYPE.merklePatriciaTreeValue,\n [OBJECT_TAG_CONTRACTS_TREE]: TX_TYPE.contractsTree,\n [OBJECT_TAG_CONTRACT_CALLS_TREE]: TX_TYPE.contractCallsTree,\n [OBJECT_TAG_CHANNELS_TREE]: TX_TYPE.channelsTree,\n [OBJECT_TAG_NAMESERVICE_TREE]: TX_TYPE.nameserviceTree,\n [OBJECT_TAG_ORACLES_TREE]: TX_TYPE.oraclesTree,\n [OBJECT_TAG_ACCOUNTS_TREE]: TX_TYPE.accountsTree,\n [OBJECT_TAG_GA_ATTACH]: TX_TYPE.gaAttach,\n [OBJECT_TAG_GA_META]: TX_TYPE.gaMeta,\n [OBJECT_TAG_PAYING_FOR]: TX_TYPE.payingFor,\n [OBJECT_TAG_SOPHIA_BYTE_CODE]: TX_TYPE.sophiaByteCode\n}\n\nexport const FIELD_TYPES = {\n int: 'int',\n amount: 'amount',\n id: 'id',\n ids: 'ids',\n string: 'string',\n binary: 'binary',\n rlpBinary: 'rlpBinary',\n rlpBinaries: 'rlpBinaries',\n rawBinary: 'rawBinary',\n bool: 'bool',\n hex: 'hex',\n signatures: 'signatures',\n pointers: 'pointers',\n offChainUpdates: 'offChainUpdates',\n callStack: 'callStack',\n proofOfInclusion: 'proofOfInclusion',\n mptrees: 'mptrees',\n callReturnType: 'callReturnType',\n ctVersion: 'ctVersion',\n sophiaCodeTypeInfo: 'sophiaCodeTypeInfo',\n payload: 'payload',\n any: 'any',\n stateTree: 'stateTree'\n}\n\n// FEE CALCULATION\nexport const BASE_GAS = 15000\nexport const GAS_PER_BYTE = 20\nexport const DEFAULT_FEE = 20000\nexport const KEY_BLOCK_INTERVAL = 3\n\n// MAP WITH FEE CALCULATION https://github.com/aeternity/protocol/blob/master/consensus/consensus.md#gas\nexport const TX_FEE_BASE_GAS = (txType) => {\n const factor = ({\n [TX_TYPE.channelForceProgress]: 30,\n [TX_TYPE.channelOffChain]: 0,\n [TX_TYPE.channelOffChainCallContract]: 0,\n [TX_TYPE.channelOffChainCreateContract]: 0,\n [TX_TYPE.channelOffChainUpdateDeposit]: 0,\n [TX_TYPE.channelOffChainUpdateWithdrawal]: 0,\n [TX_TYPE.channelOffChainUpdateTransfer]: 0,\n [TX_TYPE.contractCreate]: 5,\n [TX_TYPE.contractCall]: 12,\n [TX_TYPE.gaAttach]: 5,\n [TX_TYPE.gaMeta]: 5,\n [TX_TYPE.payingFor]: 1 / 5\n })[txType] || 1\n return new BigNumber(factor * BASE_GAS)\n}\n\nexport const TX_FEE_OTHER_GAS = (txType, txSize, { relativeTtl, innerTxSize }) => {\n switch (txType) {\n case TX_TYPE.oracleRegister:\n case TX_TYPE.oracleExtend:\n case TX_TYPE.oracleQuery:\n case TX_TYPE.oracleResponse:\n return new BigNumber(txSize)\n .times(GAS_PER_BYTE)\n .plus(\n Math.ceil(32000 * relativeTtl / Math.floor(60 * 24 * 365 / KEY_BLOCK_INTERVAL))\n )\n case TX_TYPE.gaMeta:\n case TX_TYPE.payingFor:\n return new BigNumber(txSize).minus(innerTxSize).times(GAS_PER_BYTE)\n default:\n return new BigNumber(txSize).times(GAS_PER_BYTE)\n }\n}\n\nconst BASE_TX = [\n TX_FIELD('tag', FIELD_TYPES.int),\n TX_FIELD('VSN', FIELD_TYPES.int)\n]\n\nexport const CONTRACT_BYTE_CODE_LIMA = [\n ...BASE_TX,\n TX_FIELD('sourceCodeHash', FIELD_TYPES.rawBinary),\n TX_FIELD('typeInfo', FIELD_TYPES.sophiaCodeTypeInfo),\n TX_FIELD('byteCode', FIELD_TYPES.rawBinary),\n TX_FIELD('compilerVersion', FIELD_TYPES.string),\n TX_FIELD('payable', FIELD_TYPES.bool)\n]\n\nconst ACCOUNT_TX_2 = [\n ...BASE_TX,\n TX_FIELD('flags', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('balance', FIELD_TYPES.int),\n TX_FIELD('gaContract', FIELD_TYPES.id, ['ct', 'nm']),\n TX_FIELD('gaAuthFun', FIELD_TYPES.binary, 'cb')\n]\n\nconst SPEND_TX = [\n ...BASE_TX,\n TX_FIELD('senderId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('payload', FIELD_TYPES.payload)\n]\n\nconst SIGNED_TX = [\n ...BASE_TX,\n TX_FIELD('signatures', FIELD_TYPES.signatures),\n TX_FIELD('encodedTx', FIELD_TYPES.rlpBinary)\n]\n\nconst NAME_PRE_CLAIM_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('commitmentId', FIELD_TYPES.id, 'cm'),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_CLAIM_TX_2 = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('name', Name),\n TX_FIELD('nameSalt', FIELD_TYPES.int),\n TX_FIELD('nameFee', NameFee),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_UPDATE_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', NameId),\n TX_FIELD('nameTtl', FIELD_TYPES.int),\n TX_FIELD('pointers', FIELD_TYPES.pointers),\n TX_FIELD('clientTtl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_TRANSFER_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', NameId),\n TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_REVOKE_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', NameId),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('owner', FIELD_TYPES.id, 'ak'),\n TX_FIELD('ctVersion', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('log', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('active', FIELD_TYPES.bool),\n TX_FIELD('referers', FIELD_TYPES.ids, 'ak'),\n TX_FIELD('deposit', Deposit)\n]\n\nconst GA_ATTACH_TX = [\n ...BASE_TX,\n TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('authFun', FIELD_TYPES.rawBinary),\n TX_FIELD('ctVersion', FIELD_TYPES.ctVersion),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst GA_META_TX_2 = [\n ...BASE_TX,\n TX_FIELD('gaId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('authData', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('tx', FIELD_TYPES.rlpBinary)\n]\n\nconst PAYING_FOR_TX = [\n ...BASE_TX,\n TX_FIELD('payerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('tx', FIELD_TYPES.rlpBinary)\n]\n\nconst CONTRACT_CREATE_TX = [\n ...BASE_TX,\n TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('ctVersion', FIELD_TYPES.ctVersion),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('deposit', Deposit),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CONTRACT_CALL_TX = [\n ...BASE_TX,\n TX_FIELD('callerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('contractId', FIELD_TYPES.id, ['ct', 'nm']),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CONTRACT_CALL_RESULT_TX = [\n ...BASE_TX,\n TX_FIELD('callerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('callerNonce', FIELD_TYPES.int),\n TX_FIELD('height', FIELD_TYPES.int),\n TX_FIELD('contractId', FIELD_TYPES.id, 'ct'),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('gasUsed', FIELD_TYPES.int),\n TX_FIELD('returnValue', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('returnType', FIELD_TYPES.callReturnType),\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]\n TX_FIELD('log', FIELD_TYPES.rawBinary)\n]\n\nconst ORACLE_REGISTER_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('queryFormat', FIELD_TYPES.string),\n TX_FIELD('responseFormat', FIELD_TYPES.string),\n TX_FIELD('queryFee', FIELD_TYPES.amount),\n TX_FIELD('oracleTtlType', FIELD_TYPES.int),\n TX_FIELD('oracleTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('abiVersion', FIELD_TYPES.int)\n]\n\nconst ORACLE_EXTEND_TX = [\n ...BASE_TX,\n TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('oracleTtlType', FIELD_TYPES.int),\n TX_FIELD('oracleTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst ORACLE_QUERY_TX = [\n ...BASE_TX,\n TX_FIELD('senderId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']),\n TX_FIELD('query', FIELD_TYPES.string),\n TX_FIELD('queryFee', FIELD_TYPES.amount),\n TX_FIELD('queryTtlType', FIELD_TYPES.int),\n TX_FIELD('queryTtlValue', FIELD_TYPES.int),\n TX_FIELD('responseTtlType', FIELD_TYPES.int),\n TX_FIELD('responseTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\nconst ORACLE_RESPOND_TX = [\n ...BASE_TX,\n TX_FIELD('oracleId', FIELD_TYPES.id, 'ok'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('queryId', FIELD_TYPES.binary, 'oq'),\n TX_FIELD('response', FIELD_TYPES.string),\n TX_FIELD('responseTtlType', FIELD_TYPES.int),\n TX_FIELD('responseTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CREATE_TX_2 = [\n ...BASE_TX,\n TX_FIELD('initiator', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmount', FIELD_TYPES.int),\n TX_FIELD('responder', FIELD_TYPES.id, 'ak'),\n TX_FIELD('responderAmount', FIELD_TYPES.int),\n TX_FIELD('channelReserve', FIELD_TYPES.int),\n TX_FIELD('lockPeriod', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('initiatorDelegateIds', FIELD_TYPES.string),\n TX_FIELD('responderDelegateIds', FIELD_TYPES.string),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_DEPOSIT_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_WITHDRAW_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('toId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CLOSE_MUTUAL_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int),\n TX_FIELD('responderAmountFinal', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CLOSE_SOLO_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('poi', FIELD_TYPES.binary, 'pi'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_SLASH_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('poi', FIELD_TYPES.binary, 'pi'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_SETTLE_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int),\n TX_FIELD('responderAmountFinal', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_FORCE_PROGRESS_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('update', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('offChainTrees', FIELD_TYPES.stateTree),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_TX_2 = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st')\n]\n\nconst CHANNEL_TX_3 = [\n ...BASE_TX,\n TX_FIELD('initiator', FIELD_TYPES.id, 'ak'),\n TX_FIELD('responder', FIELD_TYPES.id, 'ak'),\n TX_FIELD('channelAmount', FIELD_TYPES.int),\n TX_FIELD('initiatorAmount', FIELD_TYPES.int),\n TX_FIELD('responderAmount', FIELD_TYPES.int),\n TX_FIELD('channelReserve', FIELD_TYPES.int),\n TX_FIELD('initiatorDelegateIds', FIELD_TYPES.ids),\n TX_FIELD('responderDelegateIds', FIELD_TYPES.ids),\n TX_FIELD('stateHash', FIELD_TYPES.hex),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('soloRound', FIELD_TYPES.int),\n TX_FIELD('lockPeriod', FIELD_TYPES.int),\n TX_FIELD('lockedUntil', FIELD_TYPES.int),\n TX_FIELD('initiatorAuth', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('responderAuth', FIELD_TYPES.binary, 'cb')\n]\n\nconst CHANNEL_SNAPSHOT_SOLO_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('owner', FIELD_TYPES.id, 'ak'),\n TX_FIELD('ctVersion', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('deposit', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('caller', FIELD_TYPES.id, 'ak'),\n TX_FIELD('contract', FIELD_TYPES.id, 'ct'),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('callStack', FIELD_TYPES.callStack),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('gasLimit', FIELD_TYPES.int)\n]\n\nconst CHANNEL_RECONNECT_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('role', FIELD_TYPES.string),\n TX_FIELD('pubkey', FIELD_TYPES.id, 'ak')\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('to', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst PROOF_OF_INCLUSION_TX = [\n ...BASE_TX,\n TX_FIELD('accounts', FIELD_TYPES.mptrees),\n TX_FIELD('calls', FIELD_TYPES.mptrees),\n TX_FIELD('channels', FIELD_TYPES.mptrees),\n TX_FIELD('contracts', FIELD_TYPES.mptrees),\n TX_FIELD('ns', FIELD_TYPES.mptrees),\n TX_FIELD('oracles', FIELD_TYPES.mptrees)\n]\n\nconst STATE_TREES_TX = [\n ...BASE_TX,\n TX_FIELD('contracts', FIELD_TYPES.rlpBinary),\n TX_FIELD('calls', FIELD_TYPES.rlpBinary),\n TX_FIELD('channels', FIELD_TYPES.rlpBinary),\n TX_FIELD('ns', FIELD_TYPES.rlpBinary),\n TX_FIELD('oracles', FIELD_TYPES.rlpBinary),\n TX_FIELD('accounts', FIELD_TYPES.rlpBinary)\n]\n\nconst MERKLE_PATRICIA_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('values', FIELD_TYPES.rlpBinaries)\n]\n\nconst MERKLE_PATRICIA_TREE_VALUE_TX = [\n ...BASE_TX,\n TX_FIELD('key', FIELD_TYPES.hex),\n TX_FIELD('value', FIELD_TYPES.rawBinary)\n]\n\nconst CONTRACTS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('contracts', FIELD_TYPES.rlpBinary)\n]\n\nconst CONTRACT_CALLS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('calls', FIELD_TYPES.rlpBinary)\n]\n\nconst CHANNELS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('channels', FIELD_TYPES.rlpBinary)\n]\n\nconst NAMESERVICE_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('mtree', FIELD_TYPES.rlpBinary)\n]\n\nconst ORACLES_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('otree', FIELD_TYPES.rlpBinary)\n]\n\nconst ACCOUNTS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('accounts', FIELD_TYPES.rlpBinary)\n]\n\nexport const TX_SERIALIZATION_SCHEMA = {\n [TX_TYPE.account]: {\n 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)\n },\n [TX_TYPE.signed]: {\n 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)\n },\n [TX_TYPE.spend]: {\n 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)\n },\n [TX_TYPE.namePreClaim]: {\n 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)\n },\n [TX_TYPE.nameClaim]: {\n 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)\n },\n [TX_TYPE.nameUpdate]: {\n 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)\n },\n [TX_TYPE.nameTransfer]: {\n 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)\n },\n [TX_TYPE.nameRevoke]: {\n 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)\n },\n [TX_TYPE.contract]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)\n },\n [TX_TYPE.contractCreate]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)\n },\n [TX_TYPE.contractCall]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)\n },\n [TX_TYPE.contractCallResult]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)\n },\n [TX_TYPE.oracleRegister]: {\n 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)\n },\n [TX_TYPE.oracleExtend]: {\n 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)\n },\n [TX_TYPE.oracleQuery]: {\n 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)\n },\n [TX_TYPE.oracleResponse]: {\n 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)\n },\n [TX_TYPE.channelCreate]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)\n },\n [TX_TYPE.channelCloseMutual]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)\n },\n [TX_TYPE.channelCloseSolo]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)\n },\n [TX_TYPE.channelSlash]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)\n },\n [TX_TYPE.channelDeposit]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)\n },\n [TX_TYPE.channelWithdraw]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)\n },\n [TX_TYPE.channelSettle]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)\n },\n [TX_TYPE.channelForceProgress]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)\n },\n [TX_TYPE.channelOffChain]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)\n },\n [TX_TYPE.channel]: {\n 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)\n },\n [TX_TYPE.channelSnapshotSolo]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)\n },\n [TX_TYPE.channelOffChainUpdateTransfer]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX\n )\n },\n [TX_TYPE.channelOffChainUpdateDeposit]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX\n )\n },\n [TX_TYPE.channelOffChainUpdateWithdrawal]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX\n )\n },\n [TX_TYPE.channelOffChainCreateContract]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX\n )\n },\n [TX_TYPE.channelOffChainCallContract]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX\n )\n },\n [TX_TYPE.channelReconnect]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)\n },\n [TX_TYPE.proofOfInclusion]: {\n 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)\n },\n [TX_TYPE.stateTrees]: {\n 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)\n },\n [TX_TYPE.merklePatriciaTree]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)\n },\n [TX_TYPE.merklePatriciaTreeValue]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)\n },\n [TX_TYPE.contractsTree]: {\n 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)\n },\n [TX_TYPE.contractCallsTree]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)\n },\n [TX_TYPE.channelsTree]: {\n 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)\n },\n [TX_TYPE.nameserviceTree]: {\n 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)\n },\n [TX_TYPE.oraclesTree]: {\n 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)\n },\n [TX_TYPE.accountsTree]: {\n 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)\n },\n [TX_TYPE.gaAttach]: {\n 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)\n },\n [TX_TYPE.gaMeta]: {\n 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)\n },\n [TX_TYPE.payingFor]: {\n 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)\n }\n}\n\nexport const TX_DESERIALIZATION_SCHEMA = {\n [OBJECT_TAG_ACCOUNT]: {\n 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)\n },\n [OBJECT_TAG_SIGNED_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)\n },\n [OBJECT_TAG_SPEND_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: {\n 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)\n },\n [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT_CALL]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)\n },\n [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)\n },\n [OBJECT_TAG_CHANNEL_CREATE_TX]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)\n },\n [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)\n },\n [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)\n },\n [OBJECT_TAG_CHANNEL_SLASH_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)\n },\n [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)\n },\n [OBJECT_TAG_CHANNEL_WITHRAW_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)\n },\n [OBJECT_TAG_CHANNEL_SETTLE_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)\n },\n [OBJECT_TAG_CHANNEL]: {\n 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)\n },\n [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_RECONNECT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)\n },\n [OBJECT_TAG_PROOF_OF_INCLUSION]: {\n 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)\n },\n [OBJECT_TAG_STATE_TREES]: {\n 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)\n },\n [OBJECT_TAG_MERKLE_PATRICIA_TREE]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)\n },\n [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)\n },\n [OBJECT_TAG_CONTRACTS_TREE]: {\n 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)\n },\n [OBJECT_TAG_CONTRACT_CALLS_TREE]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)\n },\n [OBJECT_TAG_CHANNELS_TREE]: {\n 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)\n },\n [OBJECT_TAG_NAMESERVICE_TREE]: {\n 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)\n },\n [OBJECT_TAG_ORACLES_TREE]: {\n 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)\n },\n [OBJECT_TAG_ACCOUNTS_TREE]: {\n 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)\n },\n [OBJECT_TAG_GA_ATTACH]: {\n 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)\n },\n [OBJECT_TAG_GA_META]: {\n 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)\n },\n [OBJECT_TAG_PAYING_FOR]: {\n 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)\n },\n [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)\n },\n [OBJECT_TAG_SOPHIA_BYTE_CODE]: {\n 3: TX_SCHEMA_FIELD(CONTRACT_BYTE_CODE_LIMA, OBJECT_TAG_SOPHIA_BYTE_CODE)\n }\n}\n"],"file":"schema.mjs"}
|
|
@@ -13,7 +13,7 @@ import RpcClient from "./rpc-client.mjs";
|
|
|
13
13
|
import { getHandler, message } from "../helpers.mjs";
|
|
14
14
|
import { METHODS, RPC_STATUS, VERSION } from "../schema.mjs";
|
|
15
15
|
import { AlreadyConnectedError, NoWalletConnectedError, UnsubscribedAccountError, UnAuthorizedAccountError, ArgumentError, RpcConnectionError } from "../../errors.mjs";
|
|
16
|
-
import
|
|
16
|
+
import Node from "../../../node.mjs";
|
|
17
17
|
const NOTIFICATIONS = {
|
|
18
18
|
[METHODS.updateAddress]: instance => _ref => {
|
|
19
19
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/utils/aepp-wallet-communication/rpc/aepp-rpc.js"],"names":["v4","uuid","Ae","RpcClient","getHandler","message","METHODS","RPC_STATUS","VERSION","AlreadyConnectedError","NoWalletConnectedError","UnsubscribedAccountError","UnAuthorizedAccountError","ArgumentError","RpcConnectionError","Node","NOTIFICATIONS","updateAddress","instance","params","rpcClient","accounts","onAddressChange","updateNetwork","networkId","node","info","addNode","name","onNetworkChange","closeConnection","msg","disconnectWallet","onDisconnect","RESPONSES","address","processResponse","connect","result","status","CONNECTED","subscribeAddress","subscription","addressSubscription","id","sign","signedTransaction","transactionHash","signMessage","signature","REQUESTS","handleMessage","debug","Object","prototype","hasOwnProperty","call","callbacks","compose","init","connection","other","forEach","event","handler","connectToWallet","deepProps","defaults","walletBroadcast","methods","addresses","isSubscribedAccount","currentAccount","keys","connected","connectNode","select","isConnected","getNetworkId","force","connectionInfo","handlers","walletInfo","sendConnectRequest","sendDisconnect","sendMessage","reason","disconnect","onAccount","current","hasAccessToAccount","askAddresses","request","type","value","signTransaction","tx","opt","returnSigned","version","send","options","signed","sendTransaction"],"mappings":"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","sourcesContent":["/**\n * RPC handler for AEPP side\n *\n * @module @aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/aepp-rpc\n * @export AeppRpc\n * @example\n * import ContentScriptBridge\n * from '@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/aepp-rpc'\n */\nimport { v4 as uuid } from '@aeternity/uuid'\nimport Ae from '../../../ae'\nimport RpcClient from './rpc-client'\nimport { getHandler, message } from '../helpers'\nimport { METHODS, RPC_STATUS, VERSION } from '../schema'\nimport {\n AlreadyConnectedError,\n NoWalletConnectedError,\n UnsubscribedAccountError,\n UnAuthorizedAccountError,\n ArgumentError,\n RpcConnectionError\n} from '../../errors'\nimport { Node } from '../../../index'\n\nconst NOTIFICATIONS = {\n [METHODS.updateAddress]: (instance) =>\n ({ params }) => {\n instance.rpcClient.accounts = params\n instance.onAddressChange(params)\n },\n [METHODS.updateNetwork]: (instance) =>\n async ({ params }) => {\n const { networkId, node } = params\n instance.rpcClient.info.networkId = networkId\n node && instance.addNode(node.name, await Node(node), true)\n instance.onNetworkChange(params)\n },\n [METHODS.closeConnection]: (instance) =>\n (msg) => {\n instance.disconnectWallet()\n instance.onDisconnect(msg.params)\n }\n}\n\nconst RESPONSES = {\n [METHODS.address]: (instance) =>\n (msg) => instance.rpcClient.processResponse(msg),\n [METHODS.connect]: (instance) =>\n (msg) => {\n if (msg.result) instance.rpcClient.info.status = RPC_STATUS.CONNECTED\n instance.rpcClient.processResponse(msg)\n },\n [METHODS.subscribeAddress]: (instance) =>\n (msg) => {\n if (msg.result) {\n if (msg.result.address) {\n instance.rpcClient.accounts = msg.result.address\n }\n if (msg.result.subscription) {\n instance.rpcClient.addressSubscription = msg.result.subscription\n }\n }\n\n instance.rpcClient.processResponse(msg, ({ id, result }) => [result])\n },\n [METHODS.sign]: (instance) =>\n (msg) => {\n instance.rpcClient.processResponse(\n msg, ({ id, result }) => [result.signedTransaction || result.transactionHash]\n )\n },\n [METHODS.signMessage]: (instance) =>\n (msg) => {\n instance.rpcClient.processResponse(msg, ({ id, result }) => [result.signature])\n }\n}\n\nconst REQUESTS = {}\n\nconst handleMessage = (instance) => async (msg) => {\n if (!msg.id) {\n return getHandler(NOTIFICATIONS, msg, { debug: instance.debug })(instance)(msg)\n } else if (Object.prototype.hasOwnProperty.call(instance.rpcClient.callbacks, msg.id)) {\n return getHandler(RESPONSES, msg, { debug: instance.debug })(instance)(msg)\n } else {\n return getHandler(REQUESTS, msg, { debug: instance.debug })(instance)(msg)\n }\n}\n\n/**\n * Contain functionality for wallet interaction and connect it to sdk\n * @alias module:@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/aepp-rpc\n * @function\n * @rtype Stamp\n * @param {Object} param Init params object\n * @param {String=} [param.name] Aepp name\n * @param {Function} onAddressChange Call-back function for update address event\n * @param {Function} onDisconnect Call-back function for disconnect event\n * @param {Function} onNetworkChange Call-back function for update network event\n * @param {Object} connection Wallet connection object\n * @return {Object}\n */\nexport default Ae.compose({\n async init ({\n name,\n connection,\n debug = false,\n ...other\n }) {\n ['onAddressChange', 'onDisconnect', 'onNetworkChange'].forEach(event => {\n const handler = other[event] ?? (() => {})\n if (typeof handler !== 'function') throw new ArgumentError(event, 'a function', handler)\n this[event] = handler\n })\n\n this.connection = connection\n this.name = name\n this.debug = debug\n\n if (connection) {\n // Init RPCClient\n await this.connectToWallet(connection)\n }\n },\n deepProps: { Ae: { defaults: { walletBroadcast: true } } },\n methods: {\n sign () {\n },\n addresses () {\n if (!this.isSubscribedAccount()) throw new UnsubscribedAccountError()\n return [this.rpcClient.currentAccount, ...Object.keys(this.rpcClient.accounts.connected)]\n },\n /**\n * Connect to wallet\n * @function connectToWallet\n * @instance\n * @rtype (connection: Object) => void\n * @param {Object} connection Wallet connection object\n * @param {Object} [options={}]\n * @param {Boolean} [options.connectNode=true] - Request wallet to bind node\n * @param {String} [options.name=wallet-node] - Node name\n * @param {Boolean} [options.select=false] - Select this node as current\n * @return {Object}\n */\n async connectToWallet (connection, { connectNode = false, name = 'wallet-node', select = false } = {}) {\n if (this.rpcClient && this.rpcClient.isConnected()) throw new AlreadyConnectedError('You are already connected to wallet ' + this.rpcClient)\n this.rpcClient = RpcClient({\n connection,\n networkId: this.getNetworkId({ force: true }),\n ...connection.connectionInfo,\n id: uuid(),\n handlers: [handleMessage(this), this.onDisconnect]\n })\n const walletInfo = await this.sendConnectRequest(connectNode)\n if (connectNode && !Object.prototype.hasOwnProperty.call(walletInfo, 'node')) {\n throw new RpcConnectionError('Missing URLs of the Node')\n }\n connectNode && this.addNode(name, await Node(walletInfo.node), select)\n return walletInfo\n },\n /**\n * Disconnect from wallet\n * @function disconnectWallet\n * @instance\n * @rtype (force: Boolean = false) => void\n * @param {Boolean} sendDisconnect=false Force sending close connection message\n * @return {void}\n */\n async disconnectWallet (sendDisconnect = true) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n sendDisconnect && this.rpcClient.sendMessage(message(METHODS.closeConnection, { reason: 'bye' }), true)\n this.rpcClient.disconnect()\n this.rpcClient = null\n },\n async address ({ onAccount } = {}) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n const current = this.rpcClient.currentAccount\n if (!current) throw new UnsubscribedAccountError()\n if (onAccount && !this.rpcClient.hasAccessToAccount(onAccount)) {\n throw new UnAuthorizedAccountError(onAccount)\n }\n return onAccount || current\n },\n /**\n * Ask address from wallet\n * @function askAddresses\n * @instance\n * @rtype () => Promise\n * @return {Promise} Address from wallet\n */\n async askAddresses () {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n if (!this.isSubscribedAccount()) throw new UnsubscribedAccountError()\n return this.rpcClient.request(METHODS.address)\n },\n /**\n * Subscribe for addresses from wallet\n * @function subscribeAddress\n * @instance\n * @rtype (type: String, value: String) => Promise\n * @param {String} type Should be one of 'current' (the selected account), 'connected' (all)\n * @param {String} value Subscription action('subscribe'|'unsubscribe')\n * @return {Promise} Address from wallet\n */\n async subscribeAddress (type, value) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n return this.rpcClient.request(METHODS.subscribeAddress, { type, value })\n },\n /**\n * Overwriting of `signTransaction` AE method\n * All sdk API which use it will be send notification to wallet and wait for callBack\n * @function signTransaction\n * @instance\n * @rtype (tx: String, options = {}) => Promise\n * @return {Promise<String>} Signed transaction\n */\n async signTransaction (tx, opt = {}) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n if (!this.isSubscribedAccount()) throw new UnsubscribedAccountError()\n if (opt.onAccount && !this.rpcClient.hasAccessToAccount(opt.onAccount)) {\n throw new UnAuthorizedAccountError(opt.onAccount)\n }\n return this.rpcClient.request(\n METHODS.sign,\n { ...opt, tx, returnSigned: true, networkId: this.getNetworkId() }\n )\n },\n /**\n * Overwriting of `signMessage` AE method\n * All sdk API which use it will be send notification to wallet and wait for callBack\n * @function signMessage\n * @instance\n * @rtype (msg: String, options = {}) => Promise\n * @return {Promise<String>} Signed transaction\n */\n async signMessage (msg, opt = {}) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n if (!this.isSubscribedAccount()) throw new UnsubscribedAccountError()\n if (opt.onAccount && !this.rpcClient.hasAccessToAccount(opt.onAccount)) {\n throw new UnAuthorizedAccountError(opt.onAccount)\n }\n return this.rpcClient.request(METHODS.signMessage, { ...opt, message: msg })\n },\n /**\n * Send connection request to wallet\n * @function sendConnectRequest\n * @instance\n * @param {Boolean} connectNode - Request wallet to bind node\n * @rtype () => Promise\n * @return {Promise} Connection response\n */\n async sendConnectRequest (connectNode) {\n return this.rpcClient.request(\n METHODS.connect, {\n name: this.name,\n version: VERSION,\n networkId: this.getNetworkId({ force: true }),\n connectNode\n }\n )\n },\n /**\n * Overwriting of `send` AE method\n * All sdk API which use it will be send notification to wallet and wait for callBack\n * This method will sign, broadcast and wait until transaction will be accepted using rpc\n * communication with wallet\n * @function send\n * @instance\n * @rtype (tx: String, options = {}) => Promise\n * @param {String} tx\n * @param {Object} [options={}]\n * @param {Object} [options.walletBroadcast=true]\n * @return {Promise<Object>} Transaction broadcast result\n */\n async send (tx, options = {}) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n if (!this.isSubscribedAccount()) throw new UnsubscribedAccountError()\n if (options.onAccount && !this.rpcClient.hasAccessToAccount(options.onAccount)) {\n throw new UnAuthorizedAccountError(options.onAccount)\n }\n const opt = { ...this.Ae.defaults, ...options }\n if (!opt.walletBroadcast) {\n const signed = await this.signTransaction(tx, { onAccount: opt.onAccount })\n return this.sendTransaction(signed, opt)\n }\n return this.rpcClient.request(\n METHODS.sign,\n { onAccount: opt.onAccount, tx, returnSigned: false, networkId: this.getNetworkId() }\n )\n },\n isConnected () { return (this.rpcClient && this.rpcClient.isConnected()) },\n isSubscribedAccount () { return typeof this.rpcClient.currentAccount !== 'undefined' }\n }\n})\n"],"file":"aepp-rpc.mjs"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/utils/aepp-wallet-communication/rpc/aepp-rpc.js"],"names":["v4","uuid","Ae","RpcClient","getHandler","message","METHODS","RPC_STATUS","VERSION","AlreadyConnectedError","NoWalletConnectedError","UnsubscribedAccountError","UnAuthorizedAccountError","ArgumentError","RpcConnectionError","Node","NOTIFICATIONS","updateAddress","instance","params","rpcClient","accounts","onAddressChange","updateNetwork","networkId","node","info","addNode","name","onNetworkChange","closeConnection","msg","disconnectWallet","onDisconnect","RESPONSES","address","processResponse","connect","result","status","CONNECTED","subscribeAddress","subscription","addressSubscription","id","sign","signedTransaction","transactionHash","signMessage","signature","REQUESTS","handleMessage","debug","Object","prototype","hasOwnProperty","call","callbacks","compose","init","connection","other","forEach","event","handler","connectToWallet","deepProps","defaults","walletBroadcast","methods","addresses","isSubscribedAccount","currentAccount","keys","connected","connectNode","select","isConnected","getNetworkId","force","connectionInfo","handlers","walletInfo","sendConnectRequest","sendDisconnect","sendMessage","reason","disconnect","onAccount","current","hasAccessToAccount","askAddresses","request","type","value","signTransaction","tx","opt","returnSigned","version","send","options","signed","sendTransaction"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,EAAE,IAAIC,IAAf,QAA2B,iBAA3B;OACOC,E;OACAC,S;SACEC,U,EAAYC,O;SACZC,O,EAASC,U,EAAYC,O;SAE5BC,qB,EACAC,sB,EACAC,wB,EACAC,wB,EACAC,a,EACAC,kB;OAEKC,I;AAEP,MAAMC,aAAa,GAAG;AACpB,GAACV,OAAO,CAACW,aAAT,GAA0BC,QAAD,IACvB,QAAgB;AAAA,QAAf;AAAEC,MAAAA;AAAF,KAAe;AACdD,IAAAA,QAAQ,CAACE,SAAT,CAAmBC,QAAnB,GAA8BF,MAA9B;AACAD,IAAAA,QAAQ,CAACI,eAAT,CAAyBH,MAAzB;AACD,GALiB;AAMpB,GAACb,OAAO,CAACiB,aAAT,GAA0BL,QAAD,IACvB,eAAsB;AAAA,QAAf;AAAEC,MAAAA;AAAF,KAAe;AACpB,UAAM;AAAEK,MAAAA,SAAF;AAAaC,MAAAA;AAAb,QAAsBN,MAA5B;AACAD,IAAAA,QAAQ,CAACE,SAAT,CAAmBM,IAAnB,CAAwBF,SAAxB,GAAoCA,SAApC;AACAC,IAAAA,IAAI,IAAIP,QAAQ,CAACS,OAAT,CAAiBF,IAAI,CAACG,IAAtB,EAA4B,MAAMb,IAAI,CAACU,IAAD,CAAtC,EAA8C,IAA9C,CAAR;AACAP,IAAAA,QAAQ,CAACW,eAAT,CAAyBV,MAAzB;AACD,GAZiB;AAapB,GAACb,OAAO,CAACwB,eAAT,GAA4BZ,QAAD,IACxBa,GAAD,IAAS;AACPb,IAAAA,QAAQ,CAACc,gBAAT;AACAd,IAAAA,QAAQ,CAACe,YAAT,CAAsBF,GAAG,CAACZ,MAA1B;AACD;AAjBiB,CAAtB;AAoBA,MAAMe,SAAS,GAAG;AAChB,GAAC5B,OAAO,CAAC6B,OAAT,GAAoBjB,QAAD,IAChBa,GAAD,IAASb,QAAQ,CAACE,SAAT,CAAmBgB,eAAnB,CAAmCL,GAAnC,CAFK;AAGhB,GAACzB,OAAO,CAAC+B,OAAT,GAAoBnB,QAAD,IAChBa,GAAD,IAAS;AACP,QAAIA,GAAG,CAACO,MAAR,EAAgBpB,QAAQ,CAACE,SAAT,CAAmBM,IAAnB,CAAwBa,MAAxB,GAAiChC,UAAU,CAACiC,SAA5C;AAChBtB,IAAAA,QAAQ,CAACE,SAAT,CAAmBgB,eAAnB,CAAmCL,GAAnC;AACD,GAPa;AAQhB,GAACzB,OAAO,CAACmC,gBAAT,GAA6BvB,QAAD,IACzBa,GAAD,IAAS;AACP,QAAIA,GAAG,CAACO,MAAR,EAAgB;AACd,UAAIP,GAAG,CAACO,MAAJ,CAAWH,OAAf,EAAwB;AACtBjB,QAAAA,QAAQ,CAACE,SAAT,CAAmBC,QAAnB,GAA8BU,GAAG,CAACO,MAAJ,CAAWH,OAAzC;AACD;;AACD,UAAIJ,GAAG,CAACO,MAAJ,CAAWI,YAAf,EAA6B;AAC3BxB,QAAAA,QAAQ,CAACE,SAAT,CAAmBuB,mBAAnB,GAAyCZ,GAAG,CAACO,MAAJ,CAAWI,YAApD;AACD;AACF;;AAEDxB,IAAAA,QAAQ,CAACE,SAAT,CAAmBgB,eAAnB,CAAmCL,GAAnC,EAAwC;AAAA,UAAC;AAAEa,QAAAA,EAAF;AAAMN,QAAAA;AAAN,OAAD;AAAA,aAAoB,CAACA,MAAD,CAApB;AAAA,KAAxC;AACD,GApBa;AAqBhB,GAAChC,OAAO,CAACuC,IAAT,GAAiB3B,QAAD,IACba,GAAD,IAAS;AACPb,IAAAA,QAAQ,CAACE,SAAT,CAAmBgB,eAAnB,CACEL,GADF,EACO;AAAA,UAAC;AAAEa,QAAAA,EAAF;AAAMN,QAAAA;AAAN,OAAD;AAAA,aAAoB,CAACA,MAAM,CAACQ,iBAAP,IAA4BR,MAAM,CAACS,eAApC,CAApB;AAAA,KADP;AAGD,GA1Ba;AA2BhB,GAACzC,OAAO,CAAC0C,WAAT,GAAwB9B,QAAD,IACpBa,GAAD,IAAS;AACPb,IAAAA,QAAQ,CAACE,SAAT,CAAmBgB,eAAnB,CAAmCL,GAAnC,EAAwC;AAAA,UAAC;AAAEa,QAAAA,EAAF;AAAMN,QAAAA;AAAN,OAAD;AAAA,aAAoB,CAACA,MAAM,CAACW,SAAR,CAApB;AAAA,KAAxC;AACD;AA9Ba,CAAlB;AAiCA,MAAMC,QAAQ,GAAG,EAAjB;;AAEA,MAAMC,aAAa,GAAIjC,QAAD,IAAc,MAAOa,GAAP,IAAe;AACjD,MAAI,CAACA,GAAG,CAACa,EAAT,EAAa;AACX,WAAOxC,UAAU,CAACY,aAAD,EAAgBe,GAAhB,EAAqB;AAAEqB,MAAAA,KAAK,EAAElC,QAAQ,CAACkC;AAAlB,KAArB,CAAV,CAA0DlC,QAA1D,EAAoEa,GAApE,CAAP;AACD,GAFD,MAEO,IAAIsB,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCtC,QAAQ,CAACE,SAAT,CAAmBqC,SAAxD,EAAmE1B,GAAG,CAACa,EAAvE,CAAJ,EAAgF;AACrF,WAAOxC,UAAU,CAAC8B,SAAD,EAAYH,GAAZ,EAAiB;AAAEqB,MAAAA,KAAK,EAAElC,QAAQ,CAACkC;AAAlB,KAAjB,CAAV,CAAsDlC,QAAtD,EAAgEa,GAAhE,CAAP;AACD,GAFM,MAEA;AACL,WAAO3B,UAAU,CAAC8C,QAAD,EAAWnB,GAAX,EAAgB;AAAEqB,MAAAA,KAAK,EAAElC,QAAQ,CAACkC;AAAlB,KAAhB,CAAV,CAAqDlC,QAArD,EAA+Da,GAA/D,CAAP;AACD;AACF,CARD;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,eAAe7B,EAAE,CAACwD,OAAH,CAAW;AACxB,QAAMC,IAAN,QAKG;AAAA,QALS;AACV/B,MAAAA,IADU;AAEVgC,MAAAA,UAFU;AAGVR,MAAAA,KAAK,GAAG,KAHE;AAIV,SAAGS;AAJO,KAKT;AACD,KAAC,iBAAD,EAAoB,cAApB,EAAoC,iBAApC,EAAuDC,OAAvD,CAA+DC,KAAK,IAAI;AAAA;;AACtE,YAAMC,OAAO,mBAAGH,KAAK,CAACE,KAAD,CAAR,uDAAoB,MAAM,CAAE,CAAzC;AACA,UAAI,OAAOC,OAAP,KAAmB,UAAvB,EAAmC,MAAM,IAAInD,aAAJ,CAAkBkD,KAAlB,EAAyB,YAAzB,EAAuCC,OAAvC,CAAN;AACnC,WAAKD,KAAL,IAAcC,OAAd;AACD,KAJD;AAMA,SAAKJ,UAAL,GAAkBA,UAAlB;AACA,SAAKhC,IAAL,GAAYA,IAAZ;AACA,SAAKwB,KAAL,GAAaA,KAAb;;AAEA,QAAIQ,UAAJ,EAAgB;AACd;AACA,YAAM,KAAKK,eAAL,CAAqBL,UAArB,CAAN;AACD;AACF,GArBuB;;AAsBxBM,EAAAA,SAAS,EAAE;AAAEhE,IAAAA,EAAE,EAAE;AAAEiE,MAAAA,QAAQ,EAAE;AAAEC,QAAAA,eAAe,EAAE;AAAnB;AAAZ;AAAN,GAtBa;AAuBxBC,EAAAA,OAAO,EAAE;AACPxB,IAAAA,IAAI,GAAI,CACP,CAFM;;AAGPyB,IAAAA,SAAS,GAAI;AACX,UAAI,CAAC,KAAKC,mBAAL,EAAL,EAAiC,MAAM,IAAI5D,wBAAJ,EAAN;AACjC,aAAO,CAAC,KAAKS,SAAL,CAAeoD,cAAhB,EAAgC,GAAGnB,MAAM,CAACoB,IAAP,CAAY,KAAKrD,SAAL,CAAeC,QAAf,CAAwBqD,SAApC,CAAnC,CAAP;AACD,KANM;;AAOP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,UAAMT,eAAN,CAAuBL,UAAvB,EAAuG;AAAA,UAApE;AAAEe,QAAAA,WAAW,GAAG,KAAhB;AAAuB/C,QAAAA,IAAI,GAAG,aAA9B;AAA6CgD,QAAAA,MAAM,GAAG;AAAtD,OAAoE,uEAAJ,EAAI;AACrG,UAAI,KAAKxD,SAAL,IAAkB,KAAKA,SAAL,CAAeyD,WAAf,EAAtB,EAAoD,MAAM,IAAIpE,qBAAJ,CAA0B,yCAAyC,KAAKW,SAAxE,CAAN;AACpD,WAAKA,SAAL,GAAiBjB,SAAS,CAAC;AACzByD,QAAAA,UADyB;AAEzBpC,QAAAA,SAAS,EAAE,KAAKsD,YAAL,CAAkB;AAAEC,UAAAA,KAAK,EAAE;AAAT,SAAlB,CAFc;AAGzB,WAAGnB,UAAU,CAACoB,cAHW;AAIzBpC,QAAAA,EAAE,EAAE3C,IAAI,EAJiB;AAKzBgF,QAAAA,QAAQ,EAAE,CAAC9B,aAAa,CAAC,IAAD,CAAd,EAAsB,KAAKlB,YAA3B;AALe,OAAD,CAA1B;AAOA,YAAMiD,UAAU,GAAG,MAAM,KAAKC,kBAAL,CAAwBR,WAAxB,CAAzB;;AACA,UAAIA,WAAW,IAAI,CAACtB,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqC0B,UAArC,EAAiD,MAAjD,CAApB,EAA8E;AAC5E,cAAM,IAAIpE,kBAAJ,CAAuB,0BAAvB,CAAN;AACD;;AACD6D,MAAAA,WAAW,IAAI,KAAKhD,OAAL,CAAaC,IAAb,EAAmB,MAAMb,IAAI,CAACmE,UAAU,CAACzD,IAAZ,CAA7B,EAAgDmD,MAAhD,CAAf;AACA,aAAOM,UAAP;AACD,KAlCM;;AAmCP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI,UAAMlD,gBAAN,GAA+C;AAAA,UAAvBoD,cAAuB,uEAAN,IAAM;AAC7C,UAAI,CAAC,KAAKP,WAAL,EAAL,EAAyB,MAAM,IAAInE,sBAAJ,CAA2B,iCAA3B,CAAN;AACzB0E,MAAAA,cAAc,IAAI,KAAKhE,SAAL,CAAeiE,WAAf,CAA2BhF,OAAO,CAACC,OAAO,CAACwB,eAAT,EAA0B;AAAEwD,QAAAA,MAAM,EAAE;AAAV,OAA1B,CAAlC,EAAgF,IAAhF,CAAlB;AACA,WAAKlE,SAAL,CAAemE,UAAf;AACA,WAAKnE,SAAL,GAAiB,IAAjB;AACD,KAhDM;;AAiDP,UAAMe,OAAN,GAAmC;AAAA,UAApB;AAAEqD,QAAAA;AAAF,OAAoB,uEAAJ,EAAI;AACjC,UAAI,CAAC,KAAKX,WAAL,EAAL,EAAyB,MAAM,IAAInE,sBAAJ,CAA2B,iCAA3B,CAAN;AACzB,YAAM+E,OAAO,GAAG,KAAKrE,SAAL,CAAeoD,cAA/B;AACA,UAAI,CAACiB,OAAL,EAAc,MAAM,IAAI9E,wBAAJ,EAAN;;AACd,UAAI6E,SAAS,IAAI,CAAC,KAAKpE,SAAL,CAAesE,kBAAf,CAAkCF,SAAlC,CAAlB,EAAgE;AAC9D,cAAM,IAAI5E,wBAAJ,CAA6B4E,SAA7B,CAAN;AACD;;AACD,aAAOA,SAAS,IAAIC,OAApB;AACD,KAzDM;;AA0DP;AACJ;AACA;AACA;AACA;AACA;AACA;AACI,UAAME,YAAN,GAAsB;AACpB,UAAI,CAAC,KAAKd,WAAL,EAAL,EAAyB,MAAM,IAAInE,sBAAJ,CAA2B,iCAA3B,CAAN;AACzB,UAAI,CAAC,KAAK6D,mBAAL,EAAL,EAAiC,MAAM,IAAI5D,wBAAJ,EAAN;AACjC,aAAO,KAAKS,SAAL,CAAewE,OAAf,CAAuBtF,OAAO,CAAC6B,OAA/B,CAAP;AACD,KArEM;;AAsEP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,UAAMM,gBAAN,CAAwBoD,IAAxB,EAA8BC,KAA9B,EAAqC;AACnC,UAAI,CAAC,KAAKjB,WAAL,EAAL,EAAyB,MAAM,IAAInE,sBAAJ,CAA2B,iCAA3B,CAAN;AACzB,aAAO,KAAKU,SAAL,CAAewE,OAAf,CAAuBtF,OAAO,CAACmC,gBAA/B,EAAiD;AAAEoD,QAAAA,IAAF;AAAQC,QAAAA;AAAR,OAAjD,CAAP;AACD,KAlFM;;AAmFP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI,UAAMC,eAAN,CAAuBC,EAAvB,EAAqC;AAAA,UAAVC,GAAU,uEAAJ,EAAI;AACnC,UAAI,CAAC,KAAKpB,WAAL,EAAL,EAAyB,MAAM,IAAInE,sBAAJ,CAA2B,iCAA3B,CAAN;AACzB,UAAI,CAAC,KAAK6D,mBAAL,EAAL,EAAiC,MAAM,IAAI5D,wBAAJ,EAAN;;AACjC,UAAIsF,GAAG,CAACT,SAAJ,IAAiB,CAAC,KAAKpE,SAAL,CAAesE,kBAAf,CAAkCO,GAAG,CAACT,SAAtC,CAAtB,EAAwE;AACtE,cAAM,IAAI5E,wBAAJ,CAA6BqF,GAAG,CAACT,SAAjC,CAAN;AACD;;AACD,aAAO,KAAKpE,SAAL,CAAewE,OAAf,CACLtF,OAAO,CAACuC,IADH,EAEL,EAAE,GAAGoD,GAAL;AAAUD,QAAAA,EAAV;AAAcE,QAAAA,YAAY,EAAE,IAA5B;AAAkC1E,QAAAA,SAAS,EAAE,KAAKsD,YAAL;AAA7C,OAFK,CAAP;AAID,KArGM;;AAsGP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI,UAAM9B,WAAN,CAAmBjB,GAAnB,EAAkC;AAAA,UAAVkE,GAAU,uEAAJ,EAAI;AAChC,UAAI,CAAC,KAAKpB,WAAL,EAAL,EAAyB,MAAM,IAAInE,sBAAJ,CAA2B,iCAA3B,CAAN;AACzB,UAAI,CAAC,KAAK6D,mBAAL,EAAL,EAAiC,MAAM,IAAI5D,wBAAJ,EAAN;;AACjC,UAAIsF,GAAG,CAACT,SAAJ,IAAiB,CAAC,KAAKpE,SAAL,CAAesE,kBAAf,CAAkCO,GAAG,CAACT,SAAtC,CAAtB,EAAwE;AACtE,cAAM,IAAI5E,wBAAJ,CAA6BqF,GAAG,CAACT,SAAjC,CAAN;AACD;;AACD,aAAO,KAAKpE,SAAL,CAAewE,OAAf,CAAuBtF,OAAO,CAAC0C,WAA/B,EAA4C,EAAE,GAAGiD,GAAL;AAAU5F,QAAAA,OAAO,EAAE0B;AAAnB,OAA5C,CAAP;AACD,KArHM;;AAsHP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACI,UAAMoD,kBAAN,CAA0BR,WAA1B,EAAuC;AACrC,aAAO,KAAKvD,SAAL,CAAewE,OAAf,CACLtF,OAAO,CAAC+B,OADH,EACY;AACfT,QAAAA,IAAI,EAAE,KAAKA,IADI;AAEfuE,QAAAA,OAAO,EAAE3F,OAFM;AAGfgB,QAAAA,SAAS,EAAE,KAAKsD,YAAL,CAAkB;AAAEC,UAAAA,KAAK,EAAE;AAAT,SAAlB,CAHI;AAIfJ,QAAAA;AAJe,OADZ,CAAP;AAQD,KAvIM;;AAwIP;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI,UAAMyB,IAAN,CAAYJ,EAAZ,EAA8B;AAAA,UAAdK,OAAc,uEAAJ,EAAI;AAC5B,UAAI,CAAC,KAAKxB,WAAL,EAAL,EAAyB,MAAM,IAAInE,sBAAJ,CAA2B,iCAA3B,CAAN;AACzB,UAAI,CAAC,KAAK6D,mBAAL,EAAL,EAAiC,MAAM,IAAI5D,wBAAJ,EAAN;;AACjC,UAAI0F,OAAO,CAACb,SAAR,IAAqB,CAAC,KAAKpE,SAAL,CAAesE,kBAAf,CAAkCW,OAAO,CAACb,SAA1C,CAA1B,EAAgF;AAC9E,cAAM,IAAI5E,wBAAJ,CAA6ByF,OAAO,CAACb,SAArC,CAAN;AACD;;AACD,YAAMS,GAAG,GAAG,EAAE,GAAG,KAAK/F,EAAL,CAAQiE,QAAb;AAAuB,WAAGkC;AAA1B,OAAZ;;AACA,UAAI,CAACJ,GAAG,CAAC7B,eAAT,EAA0B;AACxB,cAAMkC,MAAM,GAAG,MAAM,KAAKP,eAAL,CAAqBC,EAArB,EAAyB;AAAER,UAAAA,SAAS,EAAES,GAAG,CAACT;AAAjB,SAAzB,CAArB;AACA,eAAO,KAAKe,eAAL,CAAqBD,MAArB,EAA6BL,GAA7B,CAAP;AACD;;AACD,aAAO,KAAK7E,SAAL,CAAewE,OAAf,CACLtF,OAAO,CAACuC,IADH,EAEL;AAAE2C,QAAAA,SAAS,EAAES,GAAG,CAACT,SAAjB;AAA4BQ,QAAAA,EAA5B;AAAgCE,QAAAA,YAAY,EAAE,KAA9C;AAAqD1E,QAAAA,SAAS,EAAE,KAAKsD,YAAL;AAAhE,OAFK,CAAP;AAID,KApKM;;AAqKPD,IAAAA,WAAW,GAAI;AAAE,aAAQ,KAAKzD,SAAL,IAAkB,KAAKA,SAAL,CAAeyD,WAAf,EAA1B;AAAyD,KArKnE;;AAsKPN,IAAAA,mBAAmB,GAAI;AAAE,aAAO,OAAO,KAAKnD,SAAL,CAAeoD,cAAtB,KAAyC,WAAhD;AAA6D;;AAtK/E;AAvBe,CAAX,CAAf","sourcesContent":["/**\n * RPC handler for AEPP side\n *\n * @module @aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/aepp-rpc\n * @export AeppRpc\n * @example\n * import ContentScriptBridge\n * from '@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/aepp-rpc'\n */\nimport { v4 as uuid } from '@aeternity/uuid'\nimport Ae from '../../../ae'\nimport RpcClient from './rpc-client'\nimport { getHandler, message } from '../helpers'\nimport { METHODS, RPC_STATUS, VERSION } from '../schema'\nimport {\n AlreadyConnectedError,\n NoWalletConnectedError,\n UnsubscribedAccountError,\n UnAuthorizedAccountError,\n ArgumentError,\n RpcConnectionError\n} from '../../errors'\nimport Node from '../../../node'\n\nconst NOTIFICATIONS = {\n [METHODS.updateAddress]: (instance) =>\n ({ params }) => {\n instance.rpcClient.accounts = params\n instance.onAddressChange(params)\n },\n [METHODS.updateNetwork]: (instance) =>\n async ({ params }) => {\n const { networkId, node } = params\n instance.rpcClient.info.networkId = networkId\n node && instance.addNode(node.name, await Node(node), true)\n instance.onNetworkChange(params)\n },\n [METHODS.closeConnection]: (instance) =>\n (msg) => {\n instance.disconnectWallet()\n instance.onDisconnect(msg.params)\n }\n}\n\nconst RESPONSES = {\n [METHODS.address]: (instance) =>\n (msg) => instance.rpcClient.processResponse(msg),\n [METHODS.connect]: (instance) =>\n (msg) => {\n if (msg.result) instance.rpcClient.info.status = RPC_STATUS.CONNECTED\n instance.rpcClient.processResponse(msg)\n },\n [METHODS.subscribeAddress]: (instance) =>\n (msg) => {\n if (msg.result) {\n if (msg.result.address) {\n instance.rpcClient.accounts = msg.result.address\n }\n if (msg.result.subscription) {\n instance.rpcClient.addressSubscription = msg.result.subscription\n }\n }\n\n instance.rpcClient.processResponse(msg, ({ id, result }) => [result])\n },\n [METHODS.sign]: (instance) =>\n (msg) => {\n instance.rpcClient.processResponse(\n msg, ({ id, result }) => [result.signedTransaction || result.transactionHash]\n )\n },\n [METHODS.signMessage]: (instance) =>\n (msg) => {\n instance.rpcClient.processResponse(msg, ({ id, result }) => [result.signature])\n }\n}\n\nconst REQUESTS = {}\n\nconst handleMessage = (instance) => async (msg) => {\n if (!msg.id) {\n return getHandler(NOTIFICATIONS, msg, { debug: instance.debug })(instance)(msg)\n } else if (Object.prototype.hasOwnProperty.call(instance.rpcClient.callbacks, msg.id)) {\n return getHandler(RESPONSES, msg, { debug: instance.debug })(instance)(msg)\n } else {\n return getHandler(REQUESTS, msg, { debug: instance.debug })(instance)(msg)\n }\n}\n\n/**\n * Contain functionality for wallet interaction and connect it to sdk\n * @alias module:@aeternity/aepp-sdk/es/utils/aepp-wallet-communication/rpc/aepp-rpc\n * @function\n * @rtype Stamp\n * @param {Object} param Init params object\n * @param {String=} [param.name] Aepp name\n * @param {Function} onAddressChange Call-back function for update address event\n * @param {Function} onDisconnect Call-back function for disconnect event\n * @param {Function} onNetworkChange Call-back function for update network event\n * @param {Object} connection Wallet connection object\n * @return {Object}\n */\nexport default Ae.compose({\n async init ({\n name,\n connection,\n debug = false,\n ...other\n }) {\n ['onAddressChange', 'onDisconnect', 'onNetworkChange'].forEach(event => {\n const handler = other[event] ?? (() => {})\n if (typeof handler !== 'function') throw new ArgumentError(event, 'a function', handler)\n this[event] = handler\n })\n\n this.connection = connection\n this.name = name\n this.debug = debug\n\n if (connection) {\n // Init RPCClient\n await this.connectToWallet(connection)\n }\n },\n deepProps: { Ae: { defaults: { walletBroadcast: true } } },\n methods: {\n sign () {\n },\n addresses () {\n if (!this.isSubscribedAccount()) throw new UnsubscribedAccountError()\n return [this.rpcClient.currentAccount, ...Object.keys(this.rpcClient.accounts.connected)]\n },\n /**\n * Connect to wallet\n * @function connectToWallet\n * @instance\n * @rtype (connection: Object) => void\n * @param {Object} connection Wallet connection object\n * @param {Object} [options={}]\n * @param {Boolean} [options.connectNode=true] - Request wallet to bind node\n * @param {String} [options.name=wallet-node] - Node name\n * @param {Boolean} [options.select=false] - Select this node as current\n * @return {Object}\n */\n async connectToWallet (connection, { connectNode = false, name = 'wallet-node', select = false } = {}) {\n if (this.rpcClient && this.rpcClient.isConnected()) throw new AlreadyConnectedError('You are already connected to wallet ' + this.rpcClient)\n this.rpcClient = RpcClient({\n connection,\n networkId: this.getNetworkId({ force: true }),\n ...connection.connectionInfo,\n id: uuid(),\n handlers: [handleMessage(this), this.onDisconnect]\n })\n const walletInfo = await this.sendConnectRequest(connectNode)\n if (connectNode && !Object.prototype.hasOwnProperty.call(walletInfo, 'node')) {\n throw new RpcConnectionError('Missing URLs of the Node')\n }\n connectNode && this.addNode(name, await Node(walletInfo.node), select)\n return walletInfo\n },\n /**\n * Disconnect from wallet\n * @function disconnectWallet\n * @instance\n * @rtype (force: Boolean = false) => void\n * @param {Boolean} sendDisconnect=false Force sending close connection message\n * @return {void}\n */\n async disconnectWallet (sendDisconnect = true) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n sendDisconnect && this.rpcClient.sendMessage(message(METHODS.closeConnection, { reason: 'bye' }), true)\n this.rpcClient.disconnect()\n this.rpcClient = null\n },\n async address ({ onAccount } = {}) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n const current = this.rpcClient.currentAccount\n if (!current) throw new UnsubscribedAccountError()\n if (onAccount && !this.rpcClient.hasAccessToAccount(onAccount)) {\n throw new UnAuthorizedAccountError(onAccount)\n }\n return onAccount || current\n },\n /**\n * Ask address from wallet\n * @function askAddresses\n * @instance\n * @rtype () => Promise\n * @return {Promise} Address from wallet\n */\n async askAddresses () {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n if (!this.isSubscribedAccount()) throw new UnsubscribedAccountError()\n return this.rpcClient.request(METHODS.address)\n },\n /**\n * Subscribe for addresses from wallet\n * @function subscribeAddress\n * @instance\n * @rtype (type: String, value: String) => Promise\n * @param {String} type Should be one of 'current' (the selected account), 'connected' (all)\n * @param {String} value Subscription action('subscribe'|'unsubscribe')\n * @return {Promise} Address from wallet\n */\n async subscribeAddress (type, value) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n return this.rpcClient.request(METHODS.subscribeAddress, { type, value })\n },\n /**\n * Overwriting of `signTransaction` AE method\n * All sdk API which use it will be send notification to wallet and wait for callBack\n * @function signTransaction\n * @instance\n * @rtype (tx: String, options = {}) => Promise\n * @return {Promise<String>} Signed transaction\n */\n async signTransaction (tx, opt = {}) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n if (!this.isSubscribedAccount()) throw new UnsubscribedAccountError()\n if (opt.onAccount && !this.rpcClient.hasAccessToAccount(opt.onAccount)) {\n throw new UnAuthorizedAccountError(opt.onAccount)\n }\n return this.rpcClient.request(\n METHODS.sign,\n { ...opt, tx, returnSigned: true, networkId: this.getNetworkId() }\n )\n },\n /**\n * Overwriting of `signMessage` AE method\n * All sdk API which use it will be send notification to wallet and wait for callBack\n * @function signMessage\n * @instance\n * @rtype (msg: String, options = {}) => Promise\n * @return {Promise<String>} Signed transaction\n */\n async signMessage (msg, opt = {}) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n if (!this.isSubscribedAccount()) throw new UnsubscribedAccountError()\n if (opt.onAccount && !this.rpcClient.hasAccessToAccount(opt.onAccount)) {\n throw new UnAuthorizedAccountError(opt.onAccount)\n }\n return this.rpcClient.request(METHODS.signMessage, { ...opt, message: msg })\n },\n /**\n * Send connection request to wallet\n * @function sendConnectRequest\n * @instance\n * @param {Boolean} connectNode - Request wallet to bind node\n * @rtype () => Promise\n * @return {Promise} Connection response\n */\n async sendConnectRequest (connectNode) {\n return this.rpcClient.request(\n METHODS.connect, {\n name: this.name,\n version: VERSION,\n networkId: this.getNetworkId({ force: true }),\n connectNode\n }\n )\n },\n /**\n * Overwriting of `send` AE method\n * All sdk API which use it will be send notification to wallet and wait for callBack\n * This method will sign, broadcast and wait until transaction will be accepted using rpc\n * communication with wallet\n * @function send\n * @instance\n * @rtype (tx: String, options = {}) => Promise\n * @param {String} tx\n * @param {Object} [options={}]\n * @param {Object} [options.walletBroadcast=true]\n * @return {Promise<Object>} Transaction broadcast result\n */\n async send (tx, options = {}) {\n if (!this.isConnected()) throw new NoWalletConnectedError('You are not connected to Wallet')\n if (!this.isSubscribedAccount()) throw new UnsubscribedAccountError()\n if (options.onAccount && !this.rpcClient.hasAccessToAccount(options.onAccount)) {\n throw new UnAuthorizedAccountError(options.onAccount)\n }\n const opt = { ...this.Ae.defaults, ...options }\n if (!opt.walletBroadcast) {\n const signed = await this.signTransaction(tx, { onAccount: opt.onAccount })\n return this.sendTransaction(signed, opt)\n }\n return this.rpcClient.request(\n METHODS.sign,\n { onAccount: opt.onAccount, tx, returnSigned: false, networkId: this.getNetworkId() }\n )\n },\n isConnected () { return (this.rpcClient && this.rpcClient.isConnected()) },\n isSubscribedAccount () { return typeof this.rpcClient.currentAccount !== 'undefined' }\n }\n})\n"],"file":"aepp-rpc.mjs"}
|
package/es/utils/crypto.mjs
CHANGED
|
@@ -27,12 +27,12 @@ const {
|
|
|
27
27
|
*/
|
|
28
28
|
import nacl from 'tweetnacl';
|
|
29
29
|
import aesjs from 'aes-js';
|
|
30
|
-
import shajs from 'sha.js';
|
|
31
30
|
import { str2buf } from "./bytes.mjs";
|
|
32
|
-
import { encode, decode } from "
|
|
31
|
+
import { encode, decode, sha256hash } from "./encoder.mjs";
|
|
33
32
|
import { hash } from "./crypto-ts.mjs";
|
|
34
33
|
import { NotImplementedError } from "./errors.mjs";
|
|
35
34
|
export * from "./crypto-ts.mjs";
|
|
35
|
+
export { sha256hash };
|
|
36
36
|
const Ecb = aesjs.ModeOfOperation.ecb;
|
|
37
37
|
/**
|
|
38
38
|
* Generate address from secret key
|
|
@@ -66,16 +66,6 @@ export function isAddressValid(address) {
|
|
|
66
66
|
return false;
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
/**
|
|
70
|
-
* Calculate SHA256 hash of `input`
|
|
71
|
-
* @rtype (input: String) => hash: String
|
|
72
|
-
* @param {String} input - Data to hash
|
|
73
|
-
* @return {String} Hash
|
|
74
|
-
*/
|
|
75
|
-
|
|
76
|
-
export function sha256hash(input) {
|
|
77
|
-
return shajs('sha256').update(input).digest();
|
|
78
|
-
}
|
|
79
69
|
/**
|
|
80
70
|
* Generate a random salt (positive integer)
|
|
81
71
|
* @rtype () => salt: Number
|