@aeternity/aepp-sdk 9.0.1 → 11.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.
Files changed (284) hide show
  1. package/README.md +15 -14
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +7 -36
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +1 -1
  6. package/dist/aepp-sdk.browser.js.map +1 -1
  7. package/dist/aepp-sdk.js +1 -1
  8. package/dist/aepp-sdk.js.map +1 -1
  9. package/es/account/base.mjs +179 -0
  10. package/es/account/base.mjs.map +1 -0
  11. package/es/account/memory.mjs +99 -0
  12. package/es/account/memory.mjs.map +1 -0
  13. package/es/account/multiple.mjs +179 -0
  14. package/es/account/multiple.mjs.map +1 -0
  15. package/es/ae/aens.mjs +404 -0
  16. package/es/ae/aens.mjs.map +1 -0
  17. package/es/ae/{aepp.js → aepp.mjs} +9 -9
  18. package/es/ae/aepp.mjs.map +1 -0
  19. package/es/ae/contract.mjs +159 -0
  20. package/es/ae/contract.mjs.map +1 -0
  21. package/es/ae/index.mjs +207 -0
  22. package/es/ae/index.mjs.map +1 -0
  23. package/es/ae/oracle.mjs +339 -0
  24. package/es/ae/oracle.mjs.map +1 -0
  25. package/es/ae/{universal.js → universal.mjs} +10 -10
  26. package/es/ae/universal.mjs.map +1 -0
  27. package/es/ae/{wallet.js → wallet.mjs} +10 -10
  28. package/es/ae/wallet.mjs.map +1 -0
  29. package/es/aepp-wallet-communication/schema.d.ts +74 -0
  30. package/es/bignumber.d.ts +1 -7
  31. package/es/chain/{index.js → index.mjs} +29 -9
  32. package/es/chain/index.mjs.map +1 -0
  33. package/es/chain/node.mjs +442 -0
  34. package/es/chain/node.mjs.map +1 -0
  35. package/es/channel/handlers.mjs +1110 -0
  36. package/es/channel/handlers.mjs.map +1 -0
  37. package/es/channel/{index.js → index.mjs} +245 -472
  38. package/es/channel/index.mjs.map +1 -0
  39. package/es/channel/internal.mjs +283 -0
  40. package/es/channel/internal.mjs.map +1 -0
  41. package/es/contract/aci.mjs +477 -0
  42. package/es/contract/aci.mjs.map +1 -0
  43. package/es/contract/compiler.mjs +115 -0
  44. package/es/contract/compiler.mjs.map +1 -0
  45. package/es/contract/ga/helpers.mjs +30 -0
  46. package/es/contract/ga/helpers.mjs.map +1 -0
  47. package/es/contract/ga/index.mjs +178 -0
  48. package/es/contract/ga/index.mjs.map +1 -0
  49. package/es/errors.d.ts +284 -0
  50. package/es/index.mjs +57 -0
  51. package/es/index.mjs.map +1 -0
  52. package/es/node-pool/index.mjs +188 -0
  53. package/es/node-pool/index.mjs.map +1 -0
  54. package/es/node.mjs +133 -0
  55. package/es/node.mjs.map +1 -0
  56. package/es/other.d.ts +1 -1
  57. package/es/tx/builder/field-types.mjs +74 -0
  58. package/es/tx/builder/field-types.mjs.map +1 -0
  59. package/es/tx/builder/helpers.mjs +363 -0
  60. package/es/tx/builder/helpers.mjs.map +1 -0
  61. package/es/tx/builder/index.mjs +606 -0
  62. package/es/tx/builder/index.mjs.map +1 -0
  63. package/es/tx/builder/schema.mjs +760 -0
  64. package/es/tx/builder/schema.mjs.map +1 -0
  65. package/es/tx/{index.js → index.mjs} +107 -15
  66. package/es/tx/index.mjs.map +1 -0
  67. package/es/tx/tx-object.mjs +283 -0
  68. package/es/tx/tx-object.mjs.map +1 -0
  69. package/es/tx/tx.mjs +938 -0
  70. package/es/tx/tx.mjs.map +1 -0
  71. package/es/tx/validator.mjs +247 -0
  72. package/es/tx/validator.mjs.map +1 -0
  73. package/es/typings/blakejs/index.d.mjs +2 -0
  74. package/es/typings/blakejs/{index.d.js.map → index.d.mjs.map} +1 -1
  75. package/es/utils/aepp-wallet-communication/connection/{browser-runtime.js → browser-runtime.mjs} +27 -29
  76. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +1 -0
  77. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +183 -0
  78. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +1 -0
  79. package/es/utils/aepp-wallet-communication/connection/{index.js → index.mjs} +7 -3
  80. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +1 -0
  81. package/es/utils/aepp-wallet-communication/{content-script-bridge.js → content-script-bridge.mjs} +29 -23
  82. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +1 -0
  83. package/es/utils/aepp-wallet-communication/helpers.mjs +92 -0
  84. package/es/utils/aepp-wallet-communication/helpers.mjs.map +1 -0
  85. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +375 -0
  86. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +1 -0
  87. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +275 -0
  88. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +1 -0
  89. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +541 -0
  90. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +1 -0
  91. package/es/utils/aepp-wallet-communication/schema.mjs +102 -0
  92. package/es/utils/aepp-wallet-communication/schema.mjs.map +1 -0
  93. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +110 -0
  94. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  95. package/es/utils/amount-formatter.mjs +139 -0
  96. package/es/utils/amount-formatter.mjs.map +1 -0
  97. package/es/utils/async-init.mjs +64 -0
  98. package/es/utils/async-init.mjs.map +1 -0
  99. package/es/utils/bignumber.mjs +21 -0
  100. package/es/utils/bignumber.mjs.map +1 -0
  101. package/es/utils/{bytes.js → bytes.mjs} +16 -12
  102. package/es/utils/bytes.mjs.map +1 -0
  103. package/es/utils/{crypto-ts.js → crypto-ts.mjs} +11 -3
  104. package/es/utils/crypto-ts.mjs.map +1 -0
  105. package/es/utils/crypto.mjs +239 -0
  106. package/es/utils/crypto.mjs.map +1 -0
  107. package/es/utils/errors.mjs +689 -0
  108. package/es/utils/errors.mjs.map +1 -0
  109. package/es/utils/hd-wallet.mjs +111 -0
  110. package/es/utils/hd-wallet.mjs.map +1 -0
  111. package/es/utils/json-big.mjs +45 -0
  112. package/es/utils/json-big.mjs.map +1 -0
  113. package/es/utils/keystore.mjs +240 -0
  114. package/es/utils/keystore.mjs.map +1 -0
  115. package/es/utils/mptree.mjs +161 -0
  116. package/es/utils/mptree.mjs.map +1 -0
  117. package/es/utils/other.mjs +43 -0
  118. package/es/utils/other.mjs.map +1 -0
  119. package/es/utils/semver-satisfies.mjs +16 -0
  120. package/es/utils/semver-satisfies.mjs.map +1 -0
  121. package/es/utils/{string.js → string.mjs} +5 -14
  122. package/es/utils/string.mjs.map +1 -0
  123. package/es/utils/swagger.mjs +164 -0
  124. package/es/utils/swagger.mjs.map +1 -0
  125. package/package.json +55 -62
  126. package/src/account/base.js +3 -1
  127. package/src/account/memory.js +13 -8
  128. package/src/account/multiple.js +31 -22
  129. package/src/ae/aens.js +75 -77
  130. package/src/ae/aepp.js +2 -2
  131. package/src/ae/contract.js +27 -291
  132. package/src/ae/index.js +9 -7
  133. package/src/ae/oracle.js +51 -28
  134. package/src/ae/universal.js +4 -2
  135. package/src/ae/wallet.js +2 -2
  136. package/src/chain/index.js +29 -6
  137. package/src/chain/node.js +95 -67
  138. package/src/channel/handlers.js +30 -21
  139. package/src/channel/index.js +44 -20
  140. package/src/channel/internal.js +30 -24
  141. package/src/contract/aci.js +376 -0
  142. package/src/contract/compiler.js +41 -91
  143. package/src/contract/ga/helpers.js +10 -13
  144. package/src/contract/ga/index.js +42 -33
  145. package/src/index.js +9 -10
  146. package/src/node-pool/index.js +29 -17
  147. package/src/node.js +33 -36
  148. package/src/tx/builder/field-types.js +61 -0
  149. package/src/tx/builder/helpers.js +126 -84
  150. package/src/tx/builder/index.js +83 -41
  151. package/src/tx/builder/schema.js +50 -40
  152. package/src/tx/index.js +101 -12
  153. package/src/tx/tx-object.js +35 -15
  154. package/src/tx/tx.js +232 -153
  155. package/src/tx/validator.js +34 -12
  156. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +11 -5
  157. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +35 -13
  158. package/src/utils/aepp-wallet-communication/connection/index.js +2 -1
  159. package/src/utils/aepp-wallet-communication/content-script-bridge.js +14 -7
  160. package/src/utils/aepp-wallet-communication/helpers.js +6 -14
  161. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +107 -60
  162. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +24 -11
  163. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +98 -56
  164. package/src/utils/aepp-wallet-communication/schema.ts +80 -0
  165. package/src/utils/aepp-wallet-communication/wallet-detector.js +6 -2
  166. package/src/utils/amount-formatter.ts +4 -3
  167. package/src/utils/async-init.js +10 -6
  168. package/src/utils/bignumber.ts +3 -10
  169. package/src/utils/bytes.ts +3 -2
  170. package/src/utils/crypto-ts.ts +2 -2
  171. package/src/utils/crypto.js +10 -144
  172. package/src/utils/errors.ts +683 -0
  173. package/src/utils/hd-wallet.js +11 -26
  174. package/src/utils/keystore.js +57 -53
  175. package/src/utils/mptree.ts +12 -6
  176. package/src/utils/other.ts +1 -1
  177. package/src/utils/semver-satisfies.ts +1 -1
  178. package/src/utils/swagger.js +75 -45
  179. package/es/account/base.js +0 -259
  180. package/es/account/base.js.map +0 -1
  181. package/es/account/memory.js +0 -86
  182. package/es/account/memory.js.map +0 -1
  183. package/es/account/multiple.js +0 -267
  184. package/es/account/multiple.js.map +0 -1
  185. package/es/ae/aens.js +0 -829
  186. package/es/ae/aens.js.map +0 -1
  187. package/es/ae/aepp.js.map +0 -1
  188. package/es/ae/contract.js +0 -985
  189. package/es/ae/contract.js.map +0 -1
  190. package/es/ae/index.js +0 -442
  191. package/es/ae/index.js.map +0 -1
  192. package/es/ae/oracle.js +0 -690
  193. package/es/ae/oracle.js.map +0 -1
  194. package/es/ae/universal.js.map +0 -1
  195. package/es/ae/wallet.js.map +0 -1
  196. package/es/chain/index.js.map +0 -1
  197. package/es/chain/node.js +0 -1119
  198. package/es/chain/node.js.map +0 -1
  199. package/es/channel/handlers.js +0 -1601
  200. package/es/channel/handlers.js.map +0 -1
  201. package/es/channel/index.js.map +0 -1
  202. package/es/channel/internal.js +0 -438
  203. package/es/channel/internal.js.map +0 -1
  204. package/es/contract/aci/helpers.js +0 -298
  205. package/es/contract/aci/helpers.js.map +0 -1
  206. package/es/contract/aci/index.js +0 -517
  207. package/es/contract/aci/index.js.map +0 -1
  208. package/es/contract/aci/transformation.js +0 -742
  209. package/es/contract/aci/transformation.js.map +0 -1
  210. package/es/contract/compiler.js +0 -316
  211. package/es/contract/compiler.js.map +0 -1
  212. package/es/contract/ga/helpers.js +0 -120
  213. package/es/contract/ga/helpers.js.map +0 -1
  214. package/es/contract/ga/index.js +0 -307
  215. package/es/contract/ga/index.js.map +0 -1
  216. package/es/contract/index.js +0 -158
  217. package/es/contract/index.js.map +0 -1
  218. package/es/index.js +0 -57
  219. package/es/index.js.map +0 -1
  220. package/es/node-pool/index.js +0 -204
  221. package/es/node-pool/index.js.map +0 -1
  222. package/es/node.js +0 -228
  223. package/es/node.js.map +0 -1
  224. package/es/tx/builder/helpers.js +0 -355
  225. package/es/tx/builder/helpers.js.map +0 -1
  226. package/es/tx/builder/index.js +0 -686
  227. package/es/tx/builder/index.js.map +0 -1
  228. package/es/tx/builder/schema.js +0 -695
  229. package/es/tx/builder/schema.js.map +0 -1
  230. package/es/tx/index.js.map +0 -1
  231. package/es/tx/tx-object.js +0 -297
  232. package/es/tx/tx-object.js.map +0 -1
  233. package/es/tx/tx.js +0 -1757
  234. package/es/tx/tx.js.map +0 -1
  235. package/es/tx/validator.js +0 -344
  236. package/es/tx/validator.js.map +0 -1
  237. package/es/typings/blakejs/index.d.js +0 -2
  238. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
  239. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -211
  240. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
  241. package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
  242. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
  243. package/es/utils/aepp-wallet-communication/helpers.js +0 -148
  244. package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
  245. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -652
  246. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
  247. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -285
  248. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
  249. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -763
  250. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
  251. package/es/utils/aepp-wallet-communication/schema.js +0 -103
  252. package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
  253. package/es/utils/aepp-wallet-communication/wallet-detector.js +0 -135
  254. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
  255. package/es/utils/amount-formatter.js +0 -152
  256. package/es/utils/amount-formatter.js.map +0 -1
  257. package/es/utils/async-init.js +0 -103
  258. package/es/utils/async-init.js.map +0 -1
  259. package/es/utils/bignumber.js +0 -36
  260. package/es/utils/bignumber.js.map +0 -1
  261. package/es/utils/bytes.js.map +0 -1
  262. package/es/utils/crypto-ts.js.map +0 -1
  263. package/es/utils/crypto.js +0 -358
  264. package/es/utils/crypto.js.map +0 -1
  265. package/es/utils/hd-wallet.js +0 -148
  266. package/es/utils/hd-wallet.js.map +0 -1
  267. package/es/utils/json-big.js +0 -78
  268. package/es/utils/json-big.js.map +0 -1
  269. package/es/utils/keystore.js +0 -393
  270. package/es/utils/keystore.js.map +0 -1
  271. package/es/utils/mptree.js +0 -198
  272. package/es/utils/mptree.js.map +0 -1
  273. package/es/utils/other.js +0 -93
  274. package/es/utils/other.js.map +0 -1
  275. package/es/utils/semver-satisfies.js +0 -35
  276. package/es/utils/semver-satisfies.js.map +0 -1
  277. package/es/utils/string.js.map +0 -1
  278. package/es/utils/swagger.js +0 -269
  279. package/es/utils/swagger.js.map +0 -1
  280. package/src/contract/aci/helpers.js +0 -140
  281. package/src/contract/aci/index.js +0 -191
  282. package/src/contract/aci/transformation.js +0 -464
  283. package/src/contract/index.js +0 -159
  284. package/src/utils/aepp-wallet-communication/schema.js +0 -110
@@ -1 +0,0 @@
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","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_PAYING_FOR","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","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","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\nexport const NAME_MAX_LENGTH_FEE = 31 // # this is the max length for a domain that requires a base fee to be paid\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_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).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 <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 [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(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_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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tx/index.js"],"names":["stampit","required","Tx","methods","spendTx","namePreclaimTx","nameClaimTx","nameTransferTx","nameUpdateTx","nameRevokeTx","contractCreateTx","contractCallTx","oracleRegisterTx","oracleExtendTx","oraclePostQueryTx","oracleRespondTx","getAccountNonce","channelCloseSoloTx","channelSlashTx","channelSettleTx","channelSnapshotSoloTx","gaAttachTx","getVmVersion","prepareTxParams"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA,OAAOA,OAAP,MAAoB,WAApB;AACA,SAASC,QAAT,QAAyB,iBAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,EAAE,GAAGF,OAAO,CAACC,QAAQ,CAAC;AAC1BE,EAAAA,OAAO,EAAE;AACPC,IAAAA,OAAO,EAAEH,QADF;AAEPI,IAAAA,cAAc,EAAEJ,QAFT;AAGPK,IAAAA,WAAW,EAAEL,QAHN;AAIPM,IAAAA,cAAc,EAAEN,QAJT;AAKPO,IAAAA,YAAY,EAAEP,QALP;AAMPQ,IAAAA,YAAY,EAAER,QANP;AAOPS,IAAAA,gBAAgB,EAAET,QAPX;AAQPU,IAAAA,cAAc,EAAEV,QART;AASPW,IAAAA,gBAAgB,EAAEX,QATX;AAUPY,IAAAA,cAAc,EAAEZ,QAVT;AAWPa,IAAAA,iBAAiB,EAAEb,QAXZ;AAYPc,IAAAA,eAAe,EAAEd,QAZV;AAaPe,IAAAA,eAAe,EAAEf,QAbV;AAcPgB,IAAAA,kBAAkB,EAAEhB,QAdb;AAePiB,IAAAA,cAAc,EAAEjB,QAfT;AAgBPkB,IAAAA,eAAe,EAAElB,QAhBV;AAiBPmB,IAAAA,qBAAqB,EAAEnB,QAjBhB;AAkBPoB,IAAAA,UAAU,EAAEpB,QAlBL;AAmBPqB,IAAAA,YAAY,EAAErB,QAnBP;AAoBPsB,IAAAA,eAAe,EAAEtB;AApBV;AADiB,CAAD,CAAT,CAAlB;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAeC,EAAf","sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2018 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Tx module\n * @module @aeternity/aepp-sdk/es/tx\n * @export Tx\n * @example import { Tx } from '@aeternity/aepp-sdk'\n */\n\nimport stampit from '@stamp/it'\nimport { required } from '@stamp/required'\n\n/**\n * Basic Tx Stamp\n *\n * Attempting to create instances from the Stamp without overwriting all\n * abstract methods using composition will result in an exception.\n *\n * Tx is one of the three basic building blocks of an\n * {@link module:@aeternity/aepp-sdk/es/ae--Ae} client and provides methods to\n * create aeternity transactions.\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @return {Object} Tx instance\n * @example Tx()\n */\nconst Tx = stampit(required({\n methods: {\n spendTx: required,\n namePreclaimTx: required,\n nameClaimTx: required,\n nameTransferTx: required,\n nameUpdateTx: required,\n nameRevokeTx: required,\n contractCreateTx: required,\n contractCallTx: required,\n oracleRegisterTx: required,\n oracleExtendTx: required,\n oraclePostQueryTx: required,\n oracleRespondTx: required,\n getAccountNonce: required,\n channelCloseSoloTx: required,\n channelSlashTx: required,\n channelSettleTx: required,\n channelSnapshotSoloTx: required,\n gaAttachTx: required,\n getVmVersion: required,\n prepareTxParams: required\n }\n}))\n\n/**\n * Create a `spend_tx` transaction\n * @function spendTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({sender?: String, recipientId: String, amount: Number, fee?: Number, ttl?: Number, nonce?: Number, payload?: String}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `spend_tx` transaction\n */\n\n/**\n * Create a `name_preclaim_tx` transaction\n * @function namePreclaimTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({account?: String, commitment: String, fee?: Number, ttl?: Number, nonce?: Number}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `name_preclaim_tx` transaction\n */\n\n/**\n * Create a `name_claim_tx` transaction\n * @function nameClaimTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({account?: String, name: String, nameSalt: String, fee?: Number, ttl?: Number, nonce?: Number}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `name_claim_tx` transaction\n */\n\n/**\n * Create a `name_transfer_tx` transaction\n * @function nameTransferTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({account?: String, nameId: String, recipientId: String, fee?: Number, ttl?: Number, nonce?: Number}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `name_transfer_tx` transaction\n */\n\n/**\n * Create a `name_update_tx` transaction\n * @function nameUpdateTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({account?: String, nameId: String, pointers: Object, nameTtl: Number, clientTtl: Number, fee?: Number, ttl?: Number, nonce?: Number}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `name_update_tx` transaction\n */\n\n/**\n * Create a `name_revoke_tx` transaction\n * @function nameRevokeTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({account?: String, nameId: String, fee?: Number, ttl?: Number, nonce?: Number}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `name_revoke_tx` transaction\n */\n\n/**\n * Create a `contract_create_tx` transaction\n * @function contractCreateTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({owner: String, code: String, callData: String, vmVersion: Number, deposit: Number, amount: Number, gas: Number, gasPrice: Number, fee?: Number, ttl?: Number, nonce?: Number}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `contract_create_tx` transaction\n */\n\n/**\n * Create a `contract_call_tx` transaction\n * @function contractCallTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({callerId: String, contract: String, callData: String, vmVersion: Number, amount: Number, gas: Number, gasPrice: Number, fee?: Number, ttl?: Number, nonce?: Number}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `contract_call_tx` transaction\n */\n\n/**\n * Create a `oracle_register_tx` transaction\n * @function oracleRegisterTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({ accountId: String, queryFormat: String, responseFormat: String, queryFee: String|Number, oracleTtl: Object, vmVersion: Number = ORACLE_VM_VERSION, fee?: Number, ttl?: Number, nonce?: Number }) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `oracle_register_tx` transaction\n */\n\n/**\n * Create a `oracle_extend_tx` transaction\n * @function oracleExtendTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({ oracleId: String, callerId: String, oracleTtl: Object, fee?: Number, ttl: Number, nonce?: Number}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `oracle_extend_tx` transaction\n */\n\n/**\n * Create a `oracle_post_query_tx` transaction\n * @function oraclePostQuery\n * @instance\n * @abstract\n * @category async\n * @rtype ({ oracleId: String, responseTtl: Object, query: String, queryTtl: Object, queryFee: String|Number, senderId: String, fee?: Number, ttl: Number, nonce?: Number}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `oracle_post_query_tx` transaction\n */\n\n/**\n * Create a `oracle_respond_tx` transaction\n * @function oracleRespondTx\n * @instance\n * @abstract\n * @category async\n * @rtype ({ oracleId: String, callerId: String, responseTtl: Object, queryId: String, response: String, fee?: Number, ttl?: Number, nonce?: Number}) => tx: Promise[String]\n * @param {Object} options - The object to extract properties from\n * @return {String} `oracle_respond_tx` transaction\n */\n\n/**\n * Get Account Nonce\n * @function getAccountNonce\n * @instance\n * @abstract\n * @category async\n * @rtype (address) => result: Number\n * @param {String} address - Account public key\n * @return {Number} Result\n */\n\nexport default Tx\n"],"file":"index.js"}
@@ -1,297 +0,0 @@
1
- import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
2
- import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
- import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
4
- import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
5
- import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
6
- import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
7
- import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
8
- import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
9
- import _toConsumableArray from "@babel/runtime-corejs3/helpers/toConsumableArray";
10
- import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
11
- import _typeof from "@babel/runtime-corejs3/helpers/typeof";
12
-
13
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); if (enumerableOnly) { symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
14
-
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { var _context3; _forEachInstanceProperty(_context3 = ownKeys(Object(source), true)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }); } else if (_Object$getOwnPropertyDescriptors) { _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)); } else { var _context4; _forEachInstanceProperty(_context4 = ownKeys(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
-
17
- import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
18
- import _Object$values from "@babel/runtime-corejs3/core-js-stable/object/values";
19
- import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
20
- import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
21
-
22
- /**
23
- * TxObject module
24
- * @module @aeternity/aepp-sdk/es/tx/tx-object
25
- * @export TxObject
26
- * @example import TxObject from '@aeternity/aepp-sdk/es/tx/tx-object'
27
- */
28
- import stampit from '@stamp/it';
29
- import { buildTx, calculateFee, unpackTx } from './builder';
30
- import { TX_TYPE } from './builder/schema';
31
- import { encode } from './builder/helpers';
32
- import { isHex } from '../utils/string';
33
- /**
34
- * Build transaction from object
35
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
36
- * @param {String} type Transaction type
37
- * @param {Object} params Transaction params
38
- * @param {Object} [options={}] Options
39
- * @throws {Error} Arguments validation error's
40
- * @return {{ encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, params: Object, type: String }}
41
- */
42
-
43
- var buildTransaction = function buildTransaction(type, params) {
44
- var _context;
45
-
46
- var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
47
- if (_typeof(params) !== 'object') throw new Error('"params" should be an object');
48
- if (typeof type !== 'string' || !_includesInstanceProperty(_context = _Object$values(TX_TYPE)).call(_context, type)) throw new Error("Unknown transaction type ".concat(type));
49
- var fee = calculateFee(params.fee, type, {
50
- gas: params.gas,
51
- params: params,
52
- vsn: params.vsn
53
- });
54
-
55
- var _buildTx = buildTx(_objectSpread(_objectSpread({}, params), {}, {
56
- fee: fee
57
- }), type, _objectSpread({
58
- vsn: params.vsn
59
- }, options)),
60
- rlpEncoded = _buildTx.rlpEncoded,
61
- binary = _buildTx.binary,
62
- encodedTx = _buildTx.tx,
63
- txObject = _buildTx.txObject;
64
-
65
- return {
66
- rlpEncoded: rlpEncoded,
67
- binary: binary,
68
- encodedTx: encodedTx,
69
- params: txObject,
70
- type: type
71
- };
72
- };
73
- /**
74
- * Unpack transaction from RLP encoded binary or base64c string
75
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
76
- * @param {Buffer|String} tx RLP encoded binary or base64c(rlpBinary) string
77
- * @throws {Error} Arguments validation error's
78
- * @return {{ encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object }}
79
- */
80
-
81
-
82
- var unpackTransaction = function unpackTransaction(tx) {
83
- if (!tx) throw new Error("Invalid transaction: ".concat(tx));
84
-
85
- if (typeof tx === 'string') {
86
- var _unpackTx = unpackTx(tx),
87
- type = _unpackTx.txType,
88
- params = _unpackTx.tx,
89
- rlpEncoded = _unpackTx.rlpEncoded,
90
- binary = _unpackTx.binary;
91
-
92
- return {
93
- encodedTx: tx,
94
- type: type,
95
- params: params,
96
- rlpEncoded: rlpEncoded,
97
- binary: binary
98
- };
99
- }
100
-
101
- if (Buffer.isBuffer(tx)) {
102
- var _unpackTx2 = unpackTx(tx, true),
103
- _type = _unpackTx2.txType,
104
- _params = _unpackTx2.tx,
105
- _rlpEncoded = _unpackTx2.rlpEncoded,
106
- _binary = _unpackTx2.binary;
107
-
108
- return {
109
- encodedTx: encode(tx, 'tx'),
110
- type: _type,
111
- params: _params,
112
- rlpEncoded: _rlpEncoded,
113
- binary: _binary
114
- };
115
- }
116
- };
117
- /**
118
- * Helper which build or unpack transaction base on constructor arguments
119
- * Need to provide one of arguments: [tx] -> unpack flow or [params, type] -> build flow
120
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
121
- * @param {Buffer|String} [tx] Transaction rlp binary or vase64c string
122
- * @param {Object} params Transaction params
123
- * @param {String} type Transaction type
124
- * @param {Object} [options={}] Options
125
- * @throws {Error} Arguments validation error's
126
- * @return {{encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object}}
127
- */
128
-
129
-
130
- var initTransaction = function initTransaction() {
131
- var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
132
- tx = _ref.tx,
133
- params = _ref.params,
134
- type = _ref.type,
135
- _ref$options = _ref.options,
136
- options = _ref$options === void 0 ? {} : _ref$options;
137
-
138
- if (params && type) return buildTransaction(type, params, options);
139
- if (tx) return unpackTransaction(tx);
140
- throw new Error('Invalid TxObject arguments. Please provide one of { tx: "tx_asdasd23..." } or { type: "spendTx", params: {...} }');
141
- };
142
- /**
143
- * Transaction Validator Stamp
144
- * This stamp give us possibility to unpack and validate some of transaction properties,
145
- * to make sure we can post it to the chain
146
- * @function
147
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
148
- * @rtype Stamp
149
- * @param {Object} [options={}] - Initializer object
150
- * @param {Buffer|String} [options.tx] - Rlp binary or base64c transaction
151
- * @param {Object} [options.params] - Transaction params
152
- * @param {String} [options.type] - Transaction type
153
- * @param {Object} [options.options] - Build options
154
- * @return {Object} TxObject instance
155
- * @example TxObject({ params: {...}, type: 'spendTx' })
156
- */
157
-
158
-
159
- export var TxObject = stampit({
160
- init: function init() {
161
- var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
162
- tx = _ref2.tx,
163
- params = _ref2.params,
164
- type = _ref2.type,
165
- _ref2$options = _ref2.options,
166
- options = _ref2$options === void 0 ? {} : _ref2$options;
167
-
168
- this.options = options;
169
- this.signatures = [];
170
-
171
- _Object$assign(this, initTransaction({
172
- tx: tx,
173
- params: params,
174
- type: type,
175
- options: options
176
- }));
177
-
178
- if (this.type === TX_TYPE.signed) {
179
- var _this$params = this.params,
180
- signatures = _this$params.signatures,
181
- _this$params$encodedT = _this$params.encodedTx,
182
- txType = _this$params$encodedT.txType,
183
- _tx = _this$params$encodedT.tx;
184
- this.signatures = signatures;
185
- this.params = _tx;
186
- this.type = txType;
187
- this.isSigned = true;
188
- }
189
- },
190
- statics: {
191
- /**
192
- * Create txObject from base64c RLP encoded transaction string with 'tx_' prefix
193
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
194
- * @static
195
- * @param {String} tx Transaction string (tx_23fsdgsdfg...)
196
- * @return {TxObject}
197
- */
198
- fromString: function fromString(tx) {
199
- return TxObject({
200
- tx: tx
201
- });
202
- },
203
-
204
- /**
205
- * Create txObject from transaction RLP binary
206
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
207
- * @static
208
- * @param {Buffer} tx Transaction RLP binary
209
- * @return {TxObject}
210
- */
211
- fromRlp: function fromRlp(tx) {
212
- return TxObject({
213
- tx: tx
214
- });
215
- }
216
- },
217
- methods: {
218
- /**
219
- * Rebuild transaction with new params and recalculate fee
220
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
221
- * @param {Object} props Transaction properties for update
222
- * @param options
223
- * @return {TxObject}
224
- */
225
- setProp: function setProp() {
226
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
227
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
228
- if (_typeof(props) !== 'object') throw new Error('Props should be an object');
229
- this.isSigned = false;
230
- this.signatures = [];
231
-
232
- _Object$assign(this, buildTransaction(this.type, _objectSpread(_objectSpread(_objectSpread({}, this.params), props), {}, {
233
- fee: null
234
- }), _objectSpread(_objectSpread({}, this.options), options)));
235
-
236
- return this;
237
- },
238
-
239
- /**
240
- * Get signatures
241
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
242
- * @return {Array} Array of signatures
243
- */
244
- getSignatures: function getSignatures() {
245
- if (!this.isSigned) throw new Error('Signature not found, transaction is not signed');
246
- return this.signatures;
247
- },
248
-
249
- /**
250
- * Add signature
251
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
252
- * @param {Buffer|String} signature Signature to add ( Can be: Buffer | Uint8Array | HexString )
253
- * @return {void}
254
- */
255
- addSignature: function addSignature(signature) {
256
- var _context2;
257
-
258
- signature = isHex(signature) ? Buffer.from(signature, 'hex') : signature;
259
- if (!Buffer.isBuffer(signature) && !(signature instanceof Uint8Array)) throw new Error('Invalid signature, signature must be of type Buffer or Uint8Array');
260
-
261
- _Object$assign(this, buildTransaction(TX_TYPE.signed, {
262
- encodedTx: this.rlpEncoded,
263
- signatures: [_concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(this.signatures), [signature])]
264
- }));
265
-
266
- var _this$params2 = this.params,
267
- signatures = _this$params2.signatures,
268
- _this$params2$encoded = _this$params2.encodedTx,
269
- txType = _this$params2$encoded.txType,
270
- tx = _this$params2$encoded.tx;
271
- this.signatures = signatures;
272
- this.params = tx;
273
- this.type = txType;
274
- this.isSigned = true;
275
- },
276
-
277
- /**
278
- * Calculate fee
279
- * @alias module:@aeternity/aepp-sdk/es/tx/tx-object
280
- * @param {Object} props
281
- * @return {String} fee
282
- */
283
- calculateMinFee: function calculateMinFee() {
284
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
285
-
286
- var params = _objectSpread(_objectSpread({}, this.params), props);
287
-
288
- return calculateFee(0, this.type, {
289
- gas: params.gas,
290
- params: params,
291
- vsn: params.vsn
292
- });
293
- }
294
- }
295
- });
296
- export default TxObject;
297
- //# sourceMappingURL=tx-object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/tx/tx-object.js"],"names":["stampit","buildTx","calculateFee","unpackTx","TX_TYPE","encode","isHex","buildTransaction","type","params","options","Error","fee","gas","vsn","rlpEncoded","binary","encodedTx","tx","txObject","unpackTransaction","txType","Buffer","isBuffer","initTransaction","TxObject","init","signatures","signed","isSigned","statics","fromString","fromRlp","methods","setProp","props","getSignatures","addSignature","signature","from","Uint8Array","calculateMinFee"],"mappings":"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","sourcesContent":["/**\n * TxObject module\n * @module @aeternity/aepp-sdk/es/tx/tx-object\n * @export TxObject\n * @example import TxObject from '@aeternity/aepp-sdk/es/tx/tx-object'\n */\nimport stampit from '@stamp/it'\nimport { buildTx, calculateFee, unpackTx } from './builder'\nimport { TX_TYPE } from './builder/schema'\nimport { encode } from './builder/helpers'\nimport { isHex } from '../utils/string'\n\n/**\n * Build transaction from object\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {String} type Transaction type\n * @param {Object} params Transaction params\n * @param {Object} [options={}] Options\n * @throws {Error} Arguments validation error's\n * @return {{ encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, params: Object, type: String }}\n */\nconst buildTransaction = (type, params, options = {}) => {\n if (typeof params !== 'object') throw new Error('\"params\" should be an object')\n if (typeof type !== 'string' || !Object.values(TX_TYPE).includes(type)) throw new Error(`Unknown transaction type ${type}`)\n const fee = calculateFee(params.fee, type, { gas: params.gas, params, vsn: params.vsn })\n const { rlpEncoded, binary, tx: encodedTx, txObject } = buildTx({ ...params, fee }, type, { vsn: params.vsn, ...options })\n return { rlpEncoded, binary, encodedTx, params: txObject, type }\n}\n\n/**\n * Unpack transaction from RLP encoded binary or base64c string\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Buffer|String} tx RLP encoded binary or base64c(rlpBinary) string\n * @throws {Error} Arguments validation error's\n * @return {{ encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object }}\n */\nconst unpackTransaction = (tx) => {\n if (!tx) throw new Error(`Invalid transaction: ${tx}`)\n if (typeof tx === 'string') {\n const { txType: type, tx: params, rlpEncoded, binary } = unpackTx(tx)\n return { encodedTx: tx, type, params, rlpEncoded, binary }\n }\n if (Buffer.isBuffer(tx)) {\n const { txType: type, tx: params, rlpEncoded, binary } = unpackTx(tx, true)\n return { encodedTx: encode(tx, 'tx'), type, params, rlpEncoded, binary }\n }\n}\n\n/**\n * Helper which build or unpack transaction base on constructor arguments\n * Need to provide one of arguments: [tx] -> unpack flow or [params, type] -> build flow\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Buffer|String} [tx] Transaction rlp binary or vase64c string\n * @param {Object} params Transaction params\n * @param {String} type Transaction type\n * @param {Object} [options={}] Options\n * @throws {Error} Arguments validation error's\n * @return {{encodedTx: String, binary: Array<Buffer>, rlpEncoded: Buffer, type: String, params: Object}}\n */\nconst initTransaction = ({ tx, params, type, options = {} } = {}) => {\n if (params && type) return buildTransaction(type, params, options)\n if (tx) return unpackTransaction(tx)\n throw new Error('Invalid TxObject arguments. Please provide one of { tx: \"tx_asdasd23...\" } or { type: \"spendTx\", params: {...} }')\n}\n\n/**\n * Transaction Validator Stamp\n * This stamp give us possibility to unpack and validate some of transaction properties,\n * to make sure we can post it to the chain\n * @function\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @rtype Stamp\n * @param {Object} [options={}] - Initializer object\n * @param {Buffer|String} [options.tx] - Rlp binary or base64c transaction\n * @param {Object} [options.params] - Transaction params\n * @param {String} [options.type] - Transaction type\n * @param {Object} [options.options] - Build options\n * @return {Object} TxObject instance\n * @example TxObject({ params: {...}, type: 'spendTx' })\n */\nexport const TxObject = stampit({\n init ({ tx, params, type, options = {} } = {}) {\n this.options = options\n this.signatures = []\n Object.assign(this, initTransaction({ tx, params, type, options }))\n\n if (this.type === TX_TYPE.signed) {\n const { signatures, encodedTx: { txType, tx } } = this.params\n this.signatures = signatures\n this.params = tx\n this.type = txType\n this.isSigned = true\n }\n },\n statics: {\n /**\n * Create txObject from base64c RLP encoded transaction string with 'tx_' prefix\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @static\n * @param {String} tx Transaction string (tx_23fsdgsdfg...)\n * @return {TxObject}\n */\n fromString: (tx) => TxObject({ tx }),\n /**\n * Create txObject from transaction RLP binary\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @static\n * @param {Buffer} tx Transaction RLP binary\n * @return {TxObject}\n */\n fromRlp: (tx) => TxObject({ tx })\n },\n methods: {\n /**\n * Rebuild transaction with new params and recalculate fee\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Object} props Transaction properties for update\n * @param options\n * @return {TxObject}\n */\n setProp (props = {}, options = {}) {\n if (typeof props !== 'object') throw new Error('Props should be an object')\n this.isSigned = false\n this.signatures = []\n Object.assign(this, buildTransaction(this.type, { ...this.params, ...props, fee: null }, { ...this.options, ...options }))\n return this\n },\n /**\n * Get signatures\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @return {Array} Array of signatures\n */\n getSignatures () {\n if (!this.isSigned) throw new Error('Signature not found, transaction is not signed')\n return this.signatures\n },\n /**\n * Add signature\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Buffer|String} signature Signature to add ( Can be: Buffer | Uint8Array | HexString )\n * @return {void}\n */\n addSignature (signature) {\n signature = isHex(signature) ? Buffer.from(signature, 'hex') : signature\n if (!Buffer.isBuffer(signature) && !(signature instanceof Uint8Array)) throw new Error('Invalid signature, signature must be of type Buffer or Uint8Array')\n Object.assign(this, buildTransaction(TX_TYPE.signed, { encodedTx: this.rlpEncoded, signatures: [[...this.signatures, signature]] }))\n\n const { signatures, encodedTx: { txType, tx } } = this.params\n this.signatures = signatures\n this.params = tx\n this.type = txType\n this.isSigned = true\n },\n /**\n * Calculate fee\n * @alias module:@aeternity/aepp-sdk/es/tx/tx-object\n * @param {Object} props\n * @return {String} fee\n */\n calculateMinFee (props = {}) {\n const params = { ...this.params, ...props }\n return calculateFee(0, this.type, { gas: params.gas, params, vsn: params.vsn })\n }\n }\n})\n\nexport default TxObject\n"],"file":"tx-object.js"}