@aeternity/aepp-sdk 8.2.1 → 10.0.0
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/CHANGELOG.md +216 -337
- package/README.md +16 -9
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -9
- 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/account/base.js +36 -120
- package/es/account/base.js.map +1 -1
- package/es/account/memory.js +17 -19
- package/es/account/memory.js.map +1 -1
- package/es/account/multiple.js +79 -156
- package/es/account/multiple.js.map +1 -1
- package/es/ae/aens.js +205 -626
- package/es/ae/aens.js.map +1 -1
- package/es/ae/contract.js +114 -918
- package/es/ae/contract.js.map +1 -1
- package/es/ae/index.js +90 -250
- package/es/ae/index.js.map +1 -1
- package/es/ae/oracle.js +136 -504
- package/es/ae/oracle.js.map +1 -1
- package/es/ae/universal.js.map +1 -1
- package/es/chain/index.js +12 -27
- package/es/chain/index.js.map +1 -1
- package/es/chain/node.js +289 -1020
- package/es/chain/node.js.map +1 -1
- package/es/channel/handlers.js +597 -1086
- package/es/channel/handlers.js.map +1 -1
- package/es/channel/index.js +238 -465
- package/es/channel/index.js.map +1 -1
- package/es/channel/internal.js +129 -301
- package/es/channel/internal.js.map +1 -1
- package/es/contract/aci/index.js +328 -495
- package/es/contract/aci/index.js.map +1 -1
- package/es/contract/aci/transformation.js +35 -711
- package/es/contract/aci/transformation.js.map +1 -1
- package/es/contract/compiler.js +131 -203
- package/es/contract/compiler.js.map +1 -1
- package/es/contract/ga/helpers.js +17 -122
- package/es/contract/ga/helpers.js.map +1 -1
- package/es/contract/ga/index.js +108 -249
- package/es/contract/ga/index.js.map +1 -1
- package/es/contract/index.js +7 -3
- package/es/contract/index.js.map +1 -1
- package/es/index.js +3 -3
- package/es/index.js.map +1 -1
- package/es/node-pool/index.js +57 -74
- package/es/node-pool/index.js.map +1 -1
- package/es/node.js +65 -161
- package/es/node.js.map +1 -1
- package/es/other.d.ts +1 -1
- package/es/tx/builder/helpers.js +62 -115
- package/es/tx/builder/helpers.js.map +1 -1
- package/es/tx/builder/index.js +218 -309
- package/es/tx/builder/index.js.map +1 -1
- package/es/tx/builder/schema.js +586 -573
- package/es/tx/builder/schema.js.map +1 -1
- package/es/tx/index.js +102 -13
- package/es/tx/index.js.map +1 -1
- package/es/tx/tx-object.js +114 -138
- package/es/tx/tx-object.js.map +1 -1
- package/es/tx/tx.js +810 -1586
- package/es/tx/tx.js.map +1 -1
- package/es/tx/validator.js +191 -426
- package/es/tx/validator.js.map +1 -1
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.js +20 -23
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +1 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +53 -80
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +1 -1
- package/es/utils/aepp-wallet-communication/connection/index.js +2 -1
- package/es/utils/aepp-wallet-communication/connection/index.js.map +1 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.js +24 -19
- package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +1 -1
- package/es/utils/aepp-wallet-communication/helpers.js +60 -105
- package/es/utils/aepp-wallet-communication/helpers.js.map +1 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +191 -514
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +1 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +78 -93
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +1 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +381 -613
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +1 -1
- package/es/utils/aepp-wallet-communication/schema.js +43 -39
- package/es/utils/aepp-wallet-communication/schema.js.map +1 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.js +32 -58
- package/es/utils/aepp-wallet-communication/wallet-detector.js.map +1 -1
- package/es/utils/amount-formatter.js +41 -61
- package/es/utils/amount-formatter.js.map +1 -1
- package/es/utils/async-init.js +28 -64
- package/es/utils/async-init.js.map +1 -1
- package/es/utils/bignumber.js +3 -11
- package/es/utils/bignumber.js.map +1 -1
- package/es/utils/bytes.js +5 -9
- package/es/utils/bytes.js.map +1 -1
- package/es/utils/crypto.js +41 -106
- package/es/utils/crypto.js.map +1 -1
- package/es/utils/hd-wallet.js +45 -81
- package/es/utils/hd-wallet.js.map +1 -1
- package/es/utils/json-big.js +16 -49
- package/es/utils/json-big.js.map +1 -1
- package/es/utils/keystore.js +81 -246
- package/es/utils/keystore.js.map +1 -1
- package/es/utils/mptree.js +88 -134
- package/es/utils/mptree.js.map +1 -1
- package/es/utils/other.js +10 -60
- package/es/utils/other.js.map +1 -1
- package/es/utils/semver-satisfies.js +9 -28
- package/es/utils/semver-satisfies.js.map +1 -1
- package/es/utils/string.js +4 -13
- package/es/utils/string.js.map +1 -1
- package/es/utils/swagger.js +87 -224
- package/es/utils/swagger.js.map +1 -1
- package/package.json +51 -44
- package/src/account/base.js +11 -10
- package/src/account/multiple.js +24 -18
- package/src/ae/aens.js +64 -61
- package/src/ae/contract.js +71 -248
- package/src/ae/index.js +34 -9
- package/src/ae/oracle.js +30 -22
- package/src/ae/universal.js +3 -1
- package/src/chain/index.js +10 -16
- package/src/chain/node.js +38 -38
- package/src/channel/handlers.js +10 -4
- package/src/channel/index.js +44 -20
- package/src/contract/aci/index.js +234 -112
- package/src/contract/aci/transformation.js +30 -422
- package/src/contract/compiler.js +50 -5
- package/src/contract/ga/helpers.js +6 -14
- package/src/contract/ga/index.js +28 -28
- package/src/contract/index.js +6 -2
- package/src/index.js +4 -4
- package/src/node-pool/index.js +24 -13
- package/src/node.js +29 -30
- package/src/tx/builder/helpers.js +31 -56
- package/src/tx/builder/index.js +67 -28
- package/src/tx/builder/schema.js +79 -121
- package/src/tx/index.js +101 -12
- package/src/tx/tx-object.js +25 -8
- package/src/tx/tx.js +229 -150
- package/src/tx/validator.js +134 -202
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +3 -2
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +25 -7
- package/src/utils/aepp-wallet-communication/connection/index.js +2 -1
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +10 -4
- package/src/utils/aepp-wallet-communication/helpers.js +4 -2
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +33 -12
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +9 -5
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +59 -29
- package/src/utils/aepp-wallet-communication/schema.js +1 -3
- package/src/utils/aepp-wallet-communication/wallet-detector.js +4 -1
- package/src/utils/amount-formatter.ts +1 -1
- package/src/utils/bignumber.ts +2 -1
- package/src/utils/crypto.js +4 -68
- package/src/utils/keystore.js +10 -2
- package/src/utils/other.ts +1 -1
- package/src/utils/semver-satisfies.ts +1 -1
- package/src/utils/swagger.js +22 -10
- package/src/contract/aci/helpers.js +0 -140
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tx/builder/schema.js"],"names":["BigNumber","VSN","VSN_2","TX_TTL","QUERY_FEE","ORACLE_TTL","type","value","QUERY_TTL","RESPONSE_TTL","DEPOSIT","AMOUNT","GAS","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","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_BID_MAX_LENGTH","NAME_ID_KEY","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_SOPHIA_BYTE_CODE","TX_FIELD","name","prefix","TX_SCHEMA_FIELD","schema","objectId","revertObject","obj","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","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","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","TX_FEE_OTHER_GAS","txSize","relativeTtl","plus","Math","ceil","floor","ID_TAG","commitment","oracle","PREFIX_ID_TAG","nm","cm","ID_TAG_PREFIX","VALIDATION_ERROR","msg","VALIDATION_MESSAGE","isMinusValue","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","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","ERROR_TYPE","ERROR","WARNING","VERIFICATION_FIELD","verificationFn","error","VALIDATORS","signature","insufficientFee","expiredTTL","insufficientBalanceForAmountFee","insufficientBalanceForAmount","nonceUsed","nonceHigh","minGasPrice","vmAndAbiVersion","insufficientBalanceForFeeNameFee","ERRORS","invalidSignature","txKey","SIGNATURE_VERIFICATION_SCHEMA","CONTRACT_VERIFICATION_SCHEMA","consensusProtocolVersion","NAME_CLAIM_VERIFICATION_SCHEMA","balance","BASE_VERIFICATION_SCHEMA","minFee","height","accountNonce"],"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'\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 DEPOSIT = 0\nexport const AMOUNT = 0\nexport const GAS = 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\nexport const NAME_FEE = 0\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67\nexport const NAME_FEE_MULTIPLIER = 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\nexport const NAME_BID_MAX_LENGTH = 12 // # this is the max length for a domain to be part of a bid\nexport const NAME_ID_KEY = {\n ak: 'account_pubkey',\n ok: 'oracle_pubkey',\n ct: 'contract_pubkey',\n ch: 'channel'\n}\n// # ref: https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290\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_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).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 // GA ACCOUNTS\n gaAttach: 'gaAttach',\n gaMeta: 'gaMeta',\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 // GA Accounts\n [OBJECT_TAG_GA_ATTACH]: TX_TYPE.gaAttach,\n [OBJECT_TAG_GA_META]: TX_TYPE.gaMeta,\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 switch (txType) {\n // case TX_TYPE.gaMeta: // TODO investigate MetaTx calculation\n case TX_TYPE.gaAttach:\n case TX_TYPE.contractCreate:\n return BigNumber(5 * BASE_GAS)\n // Todo Implement meta tx fee calculation\n case TX_TYPE.gaMeta:\n case TX_TYPE.contractCall:\n return BigNumber(12 * BASE_GAS)\n default:\n return BigNumber(BASE_GAS)\n }\n}\n\nexport const TX_FEE_OTHER_GAS = (txType) => ({ txSize, relativeTtl }) => {\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 BigNumber(txSize)\n .times(GAS_PER_BYTE)\n .plus(\n Math.ceil(32000 * relativeTtl / Math.floor(60 * 24 * 365 / KEY_BLOCK_INTERVAL))\n )\n default:\n return 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)\nconst VALIDATION_ERROR = (msg) => msg\n\nexport const VALIDATION_MESSAGE = {\n [FIELD_TYPES.int]: ({ value, isMinusValue }) => isMinusValue ? VALIDATION_ERROR(`${value} must be >= 0`) : VALIDATION_ERROR(`${value} is not of type Number or BigNumber`),\n [FIELD_TYPES.amount]: ({ value, isMinusValue }) => isMinusValue ? VALIDATION_ERROR(`${value} must be >= 0`) : VALIDATION_ERROR(`${value} is not of type Number or BigNumber`),\n [FIELD_TYPES.id]: ({ value, prefix }) => VALIDATION_ERROR(`'${value}' prefix doesn't match expected prefix '${prefix}' or ID_TAG for prefix not found`),\n [FIELD_TYPES.binary]: ({ prefix, value }) => VALIDATION_ERROR(`'${value}' prefix doesn't match expected prefix '${prefix}'`),\n [FIELD_TYPES.string]: ({ value }) => VALIDATION_ERROR('Not a string'),\n [FIELD_TYPES.pointers]: ({ value }) => VALIDATION_ERROR('Value must be of type Array and contains only object\\'s like \\'{key: \"account_pubkey\", id: \"ak_lkamsflkalsdalksdlasdlasdlamd\"}\\''),\n [FIELD_TYPES.ctVersion]: ({ value }) => VALIDATION_ERROR('Value must be an object with \"vmVersion\" and \"abiVersion\" fields')\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', FIELD_TYPES.binary, 'nm'),\n TX_FIELD('nameSalt', FIELD_TYPES.int),\n TX_FIELD('nameFee', FIELD_TYPES.amount),\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', FIELD_TYPES.id, 'nm'),\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', FIELD_TYPES.id, 'nm'),\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', FIELD_TYPES.id, 'nm'),\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', FIELD_TYPES.amount)\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 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', FIELD_TYPES.amount),\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 <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),\n TX_FIELD('stateHash', FIELD_TYPES.binary),\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(CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX)\n },\n [TX_TYPE.channelOffChainUpdateDeposit]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX)\n },\n [TX_TYPE.channelOffChainUpdateWithdrawal]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX)\n },\n [TX_TYPE.channelOffChainCreateContract]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX)\n },\n [TX_TYPE.channelOffChainCallContract]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX)\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}\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(CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX)\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_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\n// VERIFICATION SCHEMA\n\nconst ERROR_TYPE = { ERROR: 'error', WARNING: 'warning' }\nconst VERIFICATION_FIELD = (msg, verificationFn, error) => [msg, verificationFn, error]\n\nconst VALIDATORS = {\n signature: 'signature',\n insufficientFee: 'insufficientFee',\n expiredTTL: 'expiredTTL',\n insufficientBalanceForAmountFee: 'insufficientBalanceForAmountFee',\n insufficientBalanceForAmount: 'insufficientBalanceForAmount',\n nonceUsed: 'nonceUsed',\n nonceHigh: 'nonceHigh',\n minGasPrice: 'minGasPrice',\n vmAndAbiVersion: 'vmAndAbiVersion',\n insufficientBalanceForFeeNameFee: 'insufficientBalanceForFeeNameFee'\n}\n\nconst ERRORS = {\n invalidSignature: { key: 'InvalidSignature', type: ERROR_TYPE.ERROR, txKey: 'signature' },\n insufficientFee: { key: 'InsufficientFee', type: ERROR_TYPE.ERROR, txKey: 'fee' },\n expiredTTL: { key: 'ExpiredTTL', type: ERROR_TYPE.ERROR, txKey: 'ttl' },\n insufficientBalanceForAmountFee: { key: 'InsufficientBalanceForAmountFee', type: ERROR_TYPE.WARNING, txKey: 'fee' },\n insufficientBalanceForAmount: { key: 'InsufficientBalanceForAmount', type: ERROR_TYPE.WARNING, txKey: 'amount' },\n nonceUsed: { key: 'NonceUsed', type: ERROR_TYPE.ERROR, txKey: 'nonce' },\n nonceHigh: { key: 'NonceHigh', type: ERROR_TYPE.WARNING, txKey: 'nonce' },\n minGasPrice: { key: 'minGasPrice', type: ERROR_TYPE.ERROR, txKey: 'gasPrice' },\n vmAndAbiVersion: { key: 'vmAndAbiVersion', type: ERROR_TYPE.ERROR, txKey: 'ctVersion' },\n insufficientBalanceForFeeNameFee: { key: 'insufficientBalanceForFeeNameFee', type: ERROR_TYPE.ERROR, txKey: 'nameFee' }\n}\n\nexport const SIGNATURE_VERIFICATION_SCHEMA = [\n VERIFICATION_FIELD(\n () => 'The signature cannot be verified, please verify that you used the correct network id and the correct private key for the sender address',\n VALIDATORS.signature,\n ERRORS.invalidSignature\n )\n]\nexport const CONTRACT_VERIFICATION_SCHEMA = [\n VERIFICATION_FIELD(\n ({ ctVersion, consensusProtocolVersion, txType }) => `Wrong abi/vm version, Supported is: ${PROTOCOL_VM_ABI[consensusProtocolVersion] ? JSON.stringify(PROTOCOL_VM_ABI[consensusProtocolVersion][txType]) : ' None for this protocol ' + consensusProtocolVersion}`,\n VALIDATORS.vmAndAbiVersion,\n ERRORS.vmAndAbiVersion\n ),\n VERIFICATION_FIELD(\n () => `The gasPrice must be bigger then ${MIN_GAS_PRICE}`,\n VALIDATORS.minGasPrice,\n ERRORS.minGasPrice\n )\n]\nexport const NAME_CLAIM_VERIFICATION_SCHEMA = [\n VERIFICATION_FIELD(\n ({ balance }) => `The account balance ${balance} is not enough to execute the transaction`,\n VALIDATORS.insufficientBalanceForFeeNameFee,\n ERRORS.insufficientBalanceForFeeNameFee\n )\n]\nexport const BASE_VERIFICATION_SCHEMA = [\n VERIFICATION_FIELD(\n ({ minFee }) => `The fee for the transaction is too low, the minimum fee for this transaction is ${minFee}`,\n VALIDATORS.insufficientFee,\n ERRORS.insufficientFee\n ),\n VERIFICATION_FIELD(\n ({ height }) => `The TTL is already expired, the current height is ${height}`,\n VALIDATORS.expiredTTL,\n ERRORS.expiredTTL\n ),\n VERIFICATION_FIELD(\n ({ balance }) => `The account balance ${balance} is not enough to execute the transaction`,\n VALIDATORS.insufficientBalanceForAmountFee,\n ERRORS.insufficientBalanceForAmountFee\n ),\n VERIFICATION_FIELD(\n ({ balance }) => `The account balance ${balance} is not enough to execute the transaction`,\n VALIDATORS.insufficientBalanceForAmount,\n ERRORS.insufficientBalanceForAmount\n ),\n VERIFICATION_FIELD(\n ({ accountNonce }) => `The nonce is invalid (already used). Next valid nonce is ${accountNonce + 1})`,\n VALIDATORS.nonceUsed,\n ERRORS.nonceUsed\n ),\n VERIFICATION_FIELD(\n ({ accountNonce }) => `The nonce is technically valid but will not be processed immediately by the node (next valid nonce is ${accountNonce + 1})`,\n VALIDATORS.nonceHigh,\n ERRORS.nonceHigh\n )\n]\n"],"file":"schema.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/tx/builder/schema.js"],"names":["BigNumber","VSN","VSN_2","TX_TTL","QUERY_FEE","ORACLE_TTL","type","value","QUERY_TTL","RESPONSE_TTL","DEPOSIT","AMOUNT","GAS","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","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","VALIDATION_ERROR","msg","VALIDATION_MESSAGE","isMinusValue","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'\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 DEPOSIT = 0\nexport const AMOUNT = 0\nexport const GAS = 25000\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\nexport const NAME_FEE = 0\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 // GA ACCOUNTS\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 // GA Accounts\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)\nconst VALIDATION_ERROR = (msg) => msg\n\nexport const VALIDATION_MESSAGE = {\n [FIELD_TYPES.int]: ({ value, isMinusValue }) => isMinusValue ? VALIDATION_ERROR(`${value} must be >= 0`) : VALIDATION_ERROR(`${value} is not of type Number or BigNumber`),\n [FIELD_TYPES.amount]: ({ value, isMinusValue }) => isMinusValue ? VALIDATION_ERROR(`${value} must be >= 0`) : VALIDATION_ERROR(`${value} is not of type Number or BigNumber`),\n [FIELD_TYPES.id]: ({ value, prefix }) => VALIDATION_ERROR(`'${value}' prefix doesn't match expected prefix '${prefix}' or ID_TAG for prefix not found`),\n [FIELD_TYPES.binary]: ({ prefix, value }) => VALIDATION_ERROR(`'${value}' prefix doesn't match expected prefix '${prefix}'`),\n [FIELD_TYPES.string]: ({ value }) => VALIDATION_ERROR('Not a string'),\n [FIELD_TYPES.pointers]: ({ value }) => VALIDATION_ERROR('Value must be of type Array and contains only object\\'s like \\'{key: \"account_pubkey\", id: \"ak_lkamsflkalsdalksdlasdlasdlamd\"}\\''),\n [FIELD_TYPES.ctVersion]: ({ value }) => VALIDATION_ERROR('Value must be an object with \"vmVersion\" and \"abiVersion\" fields')\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', FIELD_TYPES.binary, 'nm'),\n TX_FIELD('nameSalt', FIELD_TYPES.int),\n TX_FIELD('nameFee', FIELD_TYPES.amount),\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', FIELD_TYPES.id, 'nm'),\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', FIELD_TYPES.id, 'nm'),\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', FIELD_TYPES.id, 'nm'),\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', FIELD_TYPES.amount)\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', FIELD_TYPES.amount),\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),\n TX_FIELD('stateHash', FIELD_TYPES.binary),\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.js"}
|