@aeternity/aepp-sdk 10.0.0-beta.1 → 11.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) 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 -27
  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.js → base.mjs} +23 -11
  10. package/es/account/base.mjs.map +1 -0
  11. package/es/account/{memory.js → memory.mjs} +29 -14
  12. package/es/account/memory.mjs.map +1 -0
  13. package/es/account/{multiple.js → multiple.mjs} +14 -11
  14. package/es/account/multiple.mjs.map +1 -0
  15. package/es/ae/{aens.js → aens.mjs} +69 -59
  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.js → index.mjs} +12 -10
  22. package/es/ae/index.mjs.map +1 -0
  23. package/es/ae/{oracle.js → oracle.mjs} +37 -20
  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} +28 -8
  32. package/es/chain/index.mjs.map +1 -0
  33. package/es/chain/{node.js → node.mjs} +133 -90
  34. package/es/chain/node.mjs.map +1 -0
  35. package/es/channel/{handlers.js → handlers.mjs} +18 -20
  36. package/es/channel/handlers.mjs.map +1 -0
  37. package/es/channel/{index.js → index.mjs} +43 -22
  38. package/es/channel/index.mjs.map +1 -0
  39. package/es/channel/{internal.js → internal.mjs} +51 -35
  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.js → index.mjs} +40 -28
  48. package/es/contract/ga/index.mjs.map +1 -0
  49. package/es/encoder.d.ts +26 -0
  50. package/es/errors.d.ts +284 -0
  51. package/es/index.mjs +57 -0
  52. package/es/index.mjs.map +1 -0
  53. package/es/node-pool/{index.js → index.mjs} +15 -12
  54. package/es/node-pool/index.mjs.map +1 -0
  55. package/es/{node.js → node.mjs} +17 -11
  56. package/es/node.mjs.map +1 -0
  57. package/es/tx/builder/constants.mjs +108 -0
  58. package/es/tx/builder/constants.mjs.map +1 -0
  59. package/es/tx/builder/field-types.mjs +74 -0
  60. package/es/tx/builder/field-types.mjs.map +1 -0
  61. package/es/tx/builder/helpers.mjs +321 -0
  62. package/es/tx/builder/helpers.mjs.map +1 -0
  63. package/es/tx/builder/{index.js → index.mjs} +92 -74
  64. package/es/tx/builder/index.mjs.map +1 -0
  65. package/es/tx/builder/{schema.js → schema.mjs} +16 -172
  66. package/es/tx/builder/schema.mjs.map +1 -0
  67. package/es/tx/{index.js → index.mjs} +106 -14
  68. package/es/tx/index.mjs.map +1 -0
  69. package/es/tx/{tx-object.js → tx-object.mjs} +31 -18
  70. package/es/tx/tx-object.mjs.map +1 -0
  71. package/es/tx/{tx.js → tx.mjs} +15 -14
  72. package/es/tx/tx.mjs.map +1 -0
  73. package/es/tx/{validator.js → validator.mjs} +72 -33
  74. package/es/tx/validator.mjs.map +1 -0
  75. package/es/typings/blakejs/index.d.mjs +2 -0
  76. package/es/typings/blakejs/{index.d.js.map → index.d.mjs.map} +1 -1
  77. package/es/utils/aepp-wallet-communication/connection/{browser-runtime.js → browser-runtime.mjs} +10 -8
  78. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +1 -0
  79. package/es/utils/aepp-wallet-communication/connection/{browser-window-message.js → browser-window-message.mjs} +25 -17
  80. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +1 -0
  81. package/es/utils/aepp-wallet-communication/connection/{index.js → index.mjs} +7 -3
  82. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +1 -0
  83. package/es/utils/aepp-wallet-communication/{content-script-bridge.js → content-script-bridge.mjs} +15 -8
  84. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +1 -0
  85. package/es/utils/aepp-wallet-communication/{helpers.js → helpers.mjs} +3 -14
  86. package/es/utils/aepp-wallet-communication/helpers.mjs.map +1 -0
  87. package/es/utils/aepp-wallet-communication/rpc/{aepp-rpc.js → aepp-rpc.mjs} +126 -72
  88. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +1 -0
  89. package/es/utils/aepp-wallet-communication/rpc/{rpc-client.js → rpc-client.mjs} +23 -14
  90. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +1 -0
  91. package/es/utils/aepp-wallet-communication/rpc/{wallet-rpc.js → wallet-rpc.mjs} +116 -91
  92. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +1 -0
  93. package/es/utils/aepp-wallet-communication/schema.mjs +102 -0
  94. package/es/utils/aepp-wallet-communication/schema.mjs.map +1 -0
  95. package/es/utils/aepp-wallet-communication/{wallet-detector.js → wallet-detector.mjs} +6 -5
  96. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  97. package/es/utils/{amount-formatter.js → amount-formatter.mjs} +14 -7
  98. package/es/utils/amount-formatter.mjs.map +1 -0
  99. package/es/utils/{async-init.js → async-init.mjs} +8 -11
  100. package/es/utils/async-init.mjs.map +1 -0
  101. package/es/utils/{bignumber.js → bignumber.mjs} +2 -9
  102. package/es/utils/bignumber.mjs.map +1 -0
  103. package/es/utils/{bytes.js → bytes.mjs} +16 -8
  104. package/es/utils/bytes.mjs.map +1 -0
  105. package/es/utils/{crypto-ts.js → crypto-ts.mjs} +11 -3
  106. package/es/utils/crypto-ts.mjs.map +1 -0
  107. package/es/utils/{crypto.js → crypto.mjs} +42 -156
  108. package/es/utils/crypto.mjs.map +1 -0
  109. package/es/utils/encoder.mjs +106 -0
  110. package/es/utils/encoder.mjs.map +1 -0
  111. package/es/utils/errors.mjs +689 -0
  112. package/es/utils/errors.mjs.map +1 -0
  113. package/es/utils/{hd-wallet.js → hd-wallet.mjs} +33 -34
  114. package/es/utils/hd-wallet.mjs.map +1 -0
  115. package/es/utils/{json-big.js → json-big.mjs} +1 -1
  116. package/es/utils/{json-big.js.map → json-big.mjs.map} +1 -1
  117. package/es/utils/{keystore.js → keystore.mjs} +63 -51
  118. package/es/utils/keystore.mjs.map +1 -0
  119. package/es/utils/{mptree.js → mptree.mjs} +21 -12
  120. package/es/utils/mptree.mjs.map +1 -0
  121. package/es/utils/{other.js → other.mjs} +2 -2
  122. package/es/utils/other.mjs.map +1 -0
  123. package/es/utils/{semver-satisfies.js → semver-satisfies.mjs} +1 -1
  124. package/es/utils/{semver-satisfies.js.map → semver-satisfies.mjs.map} +1 -1
  125. package/es/utils/{string.js → string.mjs} +1 -1
  126. package/es/utils/{string.js.map → string.mjs.map} +1 -1
  127. package/es/utils/{swagger.js → swagger.mjs} +49 -15
  128. package/es/utils/swagger.mjs.map +1 -0
  129. package/package.json +49 -58
  130. package/src/account/base.js +3 -1
  131. package/src/account/memory.js +13 -8
  132. package/src/account/multiple.js +16 -6
  133. package/src/ae/aens.js +52 -58
  134. package/src/ae/aepp.js +2 -2
  135. package/src/ae/contract.js +21 -154
  136. package/src/ae/index.js +6 -4
  137. package/src/ae/oracle.js +33 -14
  138. package/src/ae/universal.js +4 -2
  139. package/src/ae/wallet.js +2 -2
  140. package/src/chain/index.js +29 -6
  141. package/src/chain/node.js +95 -65
  142. package/src/channel/handlers.js +30 -20
  143. package/src/channel/index.js +46 -16
  144. package/src/channel/internal.js +35 -30
  145. package/src/contract/aci.js +376 -0
  146. package/src/contract/compiler.js +22 -113
  147. package/src/contract/ga/helpers.js +10 -6
  148. package/src/contract/ga/index.js +31 -24
  149. package/src/index.js +9 -8
  150. package/src/node-pool/index.js +13 -10
  151. package/src/node.js +11 -10
  152. package/src/tx/builder/constants.js +100 -0
  153. package/src/tx/builder/field-types.js +61 -0
  154. package/src/tx/builder/helpers.js +99 -103
  155. package/src/tx/builder/index.js +81 -40
  156. package/src/tx/builder/schema.js +44 -132
  157. package/src/tx/index.js +101 -12
  158. package/src/tx/tx-object.js +35 -15
  159. package/src/tx/tx.js +110 -35
  160. package/src/tx/validator.js +25 -5
  161. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +11 -5
  162. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +35 -13
  163. package/src/utils/aepp-wallet-communication/connection/index.js +2 -1
  164. package/src/utils/aepp-wallet-communication/content-script-bridge.js +14 -7
  165. package/src/utils/aepp-wallet-communication/helpers.js +6 -14
  166. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +106 -57
  167. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +24 -11
  168. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +95 -53
  169. package/src/utils/aepp-wallet-communication/schema.ts +80 -0
  170. package/src/utils/aepp-wallet-communication/wallet-detector.js +6 -2
  171. package/src/utils/amount-formatter.ts +4 -3
  172. package/src/utils/async-init.js +10 -6
  173. package/src/utils/bignumber.ts +1 -9
  174. package/src/utils/bytes.ts +3 -2
  175. package/src/utils/crypto-ts.ts +2 -2
  176. package/src/utils/crypto.js +11 -155
  177. package/src/utils/encoder.ts +101 -0
  178. package/src/utils/errors.ts +683 -0
  179. package/src/utils/hd-wallet.js +11 -26
  180. package/src/utils/keystore.js +57 -53
  181. package/src/utils/mptree.ts +12 -6
  182. package/src/utils/swagger.js +68 -45
  183. package/es/account/base.js.map +0 -1
  184. package/es/account/memory.js.map +0 -1
  185. package/es/account/multiple.js.map +0 -1
  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 -308
  189. package/es/ae/contract.js.map +0 -1
  190. package/es/ae/index.js.map +0 -1
  191. package/es/ae/oracle.js.map +0 -1
  192. package/es/ae/universal.js.map +0 -1
  193. package/es/ae/wallet.js.map +0 -1
  194. package/es/chain/index.js.map +0 -1
  195. package/es/chain/node.js.map +0 -1
  196. package/es/channel/handlers.js.map +0 -1
  197. package/es/channel/index.js.map +0 -1
  198. package/es/channel/internal.js.map +0 -1
  199. package/es/contract/aci/helpers.js +0 -298
  200. package/es/contract/aci/helpers.js.map +0 -1
  201. package/es/contract/aci/index.js +0 -356
  202. package/es/contract/aci/index.js.map +0 -1
  203. package/es/contract/aci/transformation.js +0 -66
  204. package/es/contract/aci/transformation.js.map +0 -1
  205. package/es/contract/compiler.js +0 -242
  206. package/es/contract/compiler.js.map +0 -1
  207. package/es/contract/ga/helpers.js +0 -22
  208. package/es/contract/ga/helpers.js.map +0 -1
  209. package/es/contract/ga/index.js.map +0 -1
  210. package/es/contract/index.js +0 -158
  211. package/es/contract/index.js.map +0 -1
  212. package/es/index.js +0 -56
  213. package/es/index.js.map +0 -1
  214. package/es/node-pool/index.js.map +0 -1
  215. package/es/node.js.map +0 -1
  216. package/es/tx/builder/helpers.js +0 -318
  217. package/es/tx/builder/helpers.js.map +0 -1
  218. package/es/tx/builder/index.js.map +0 -1
  219. package/es/tx/builder/schema.js.map +0 -1
  220. package/es/tx/index.js.map +0 -1
  221. package/es/tx/tx-object.js.map +0 -1
  222. package/es/tx/tx.js.map +0 -1
  223. package/es/tx/validator.js.map +0 -1
  224. package/es/typings/blakejs/index.d.js +0 -2
  225. package/es/utils/aepp-wallet-communication/connection/browser-runtime.js.map +0 -1
  226. package/es/utils/aepp-wallet-communication/connection/browser-window-message.js.map +0 -1
  227. package/es/utils/aepp-wallet-communication/connection/index.js.map +0 -1
  228. package/es/utils/aepp-wallet-communication/content-script-bridge.js.map +0 -1
  229. package/es/utils/aepp-wallet-communication/helpers.js.map +0 -1
  230. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.js.map +0 -1
  231. package/es/utils/aepp-wallet-communication/rpc/rpc-client.js.map +0 -1
  232. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.js.map +0 -1
  233. package/es/utils/aepp-wallet-communication/schema.js +0 -107
  234. package/es/utils/aepp-wallet-communication/schema.js.map +0 -1
  235. package/es/utils/aepp-wallet-communication/wallet-detector.js.map +0 -1
  236. package/es/utils/amount-formatter.js.map +0 -1
  237. package/es/utils/async-init.js.map +0 -1
  238. package/es/utils/bignumber.js.map +0 -1
  239. package/es/utils/bytes.js.map +0 -1
  240. package/es/utils/crypto-ts.js.map +0 -1
  241. package/es/utils/crypto.js.map +0 -1
  242. package/es/utils/hd-wallet.js.map +0 -1
  243. package/es/utils/keystore.js.map +0 -1
  244. package/es/utils/mptree.js.map +0 -1
  245. package/es/utils/other.js.map +0 -1
  246. package/es/utils/swagger.js.map +0 -1
  247. package/src/contract/aci/index.js +0 -310
  248. package/src/contract/aci/transformation.js +0 -72
  249. package/src/contract/index.js +0 -159
  250. package/src/utils/aepp-wallet-communication/schema.js +0 -108
@@ -7,6 +7,8 @@
7
7
  // # RLP version number
8
8
  // # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization
9
9
  import BigNumber from 'bignumber.js';
10
+ import { Name, NameId, NameFee, Deposit } from "./field-types.mjs";
11
+ export * from "./constants.mjs";
10
12
  export const VSN = 1;
11
13
  export const VSN_2 = 2; // # TRANSACTION DEFAULT TTL
12
14
 
@@ -26,98 +28,14 @@ export const RESPONSE_TTL = {
26
28
  value: 10
27
29
  }; // # CONTRACT
28
30
 
29
- export const DEPOSIT = 0;
30
31
  export const AMOUNT = 0;
31
- export const GAS = 25000;
32
+ export const GAS_MAX = 1600000 - 21000;
32
33
  export const MIN_GAS_PRICE = 1e9;
33
34
  export const MAX_AUTH_FUN_GAS = 50000;
34
35
  export const DRY_RUN_ACCOUNT = {
35
36
  pub: 'ak_11111111111111111111111111111111273Yts',
36
37
  amount: '100000000000000000000000000000000000'
37
- }; // # AENS
38
-
39
- export const NAME_TTL = 180000; // # max number of block into the future that the name is going to be available
40
- // # https://github.com/aeternity/protocol/blob/epoch-v0.22.0/AENS.md#update
41
- // # https://github.com/aeternity/protocol/blob/44a93d3aab957ca820183c3520b9daf6b0fedff4/AENS.md#aens-entry
42
-
43
- export const NAME_MAX_TTL = 36000;
44
- export const NAME_MAX_CLIENT_TTL = 84600;
45
- export const CLIENT_TTL = NAME_MAX_CLIENT_TTL;
46
- export const NAME_FEE = 0; // # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67
47
-
48
- export const NAME_FEE_MULTIPLIER = 1e14; // 100000000000000
49
-
50
- export const NAME_FEE_BID_INCREMENT = 0.05; // # the increment is in percentage
51
- // # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272
52
-
53
- export const NAME_BID_TIMEOUT_BLOCKS = 480; // # ~1 day
54
-
55
- export const NAME_MAX_LENGTH_FEE = 31; // # this is the max length for a domain that requires a base fee to be paid
56
-
57
- export const NAME_BID_MAX_LENGTH = 12; // # this is the max length for a domain to be part of a bid
58
-
59
- export const NAME_ID_KEY = {
60
- ak: 'account_pubkey',
61
- ok: 'oracle_pubkey',
62
- ct: 'contract_pubkey',
63
- ch: 'channel'
64
- }; // # https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290
65
- // # https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times
66
- // # bid ranges:
67
-
68
- export const NAME_BID_RANGES = {
69
- 31: BigNumber(3).times(NAME_FEE_MULTIPLIER),
70
- 30: BigNumber(5).times(NAME_FEE_MULTIPLIER),
71
- 29: BigNumber(8).times(NAME_FEE_MULTIPLIER),
72
- 28: BigNumber(13).times(NAME_FEE_MULTIPLIER),
73
- 27: BigNumber(21).times(NAME_FEE_MULTIPLIER),
74
- 26: BigNumber(34).times(NAME_FEE_MULTIPLIER),
75
- 25: BigNumber(55).times(NAME_FEE_MULTIPLIER),
76
- 24: BigNumber(89).times(NAME_FEE_MULTIPLIER),
77
- 23: BigNumber(144).times(NAME_FEE_MULTIPLIER),
78
- 22: BigNumber(233).times(NAME_FEE_MULTIPLIER),
79
- 21: BigNumber(377).times(NAME_FEE_MULTIPLIER),
80
- 20: BigNumber(610).times(NAME_FEE_MULTIPLIER),
81
- 19: BigNumber(987).times(NAME_FEE_MULTIPLIER),
82
- 18: BigNumber(1597).times(NAME_FEE_MULTIPLIER),
83
- 17: BigNumber(2584).times(NAME_FEE_MULTIPLIER),
84
- 16: BigNumber(4181).times(NAME_FEE_MULTIPLIER),
85
- 15: BigNumber(6765).times(NAME_FEE_MULTIPLIER),
86
- 14: BigNumber(10946).times(NAME_FEE_MULTIPLIER),
87
- 13: BigNumber(17711).times(NAME_FEE_MULTIPLIER),
88
- 12: BigNumber(28657).times(NAME_FEE_MULTIPLIER),
89
- 11: BigNumber(46368).times(NAME_FEE_MULTIPLIER),
90
- 10: BigNumber(75025).times(NAME_FEE_MULTIPLIER),
91
- 9: BigNumber(121393).times(NAME_FEE_MULTIPLIER),
92
- 8: BigNumber(196418).times(NAME_FEE_MULTIPLIER),
93
- 7: BigNumber(317811).times(NAME_FEE_MULTIPLIER),
94
- 6: BigNumber(514229).times(NAME_FEE_MULTIPLIER),
95
- 5: BigNumber(832040).times(NAME_FEE_MULTIPLIER),
96
- 4: BigNumber(1346269).times(NAME_FEE_MULTIPLIER),
97
- 3: BigNumber(2178309).times(NAME_FEE_MULTIPLIER),
98
- 2: BigNumber(3524578).times(NAME_FEE_MULTIPLIER),
99
- 1: BigNumber(5702887).times(NAME_FEE_MULTIPLIER)
100
- }; // # ref: https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L273
101
- // # name bid timeouts
102
-
103
- export const NAME_BID_TIMEOUTS = {
104
- 13: BigNumber(0),
105
- 12: BigNumber(NAME_BID_TIMEOUT_BLOCKS),
106
- // # 480 blocks
107
- 8: BigNumber(31).times(NAME_BID_TIMEOUT_BLOCKS),
108
- // # 14880 blocks
109
- 4: BigNumber(62).times(NAME_BID_TIMEOUT_BLOCKS) // # 29760 blocks
110
-
111
- }; // # Tag constant for ids (type uint8)
112
- // # see https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type
113
- // # <<Tag:1/unsigned-integer-unit:8, Hash:32/binary-unit:8>>
114
-
115
- const ID_TAG_ACCOUNT = 1;
116
- const ID_TAG_NAME = 2;
117
- const ID_TAG_COMMITMENT = 3;
118
- const ID_TAG_ORACLE = 4;
119
- const ID_TAG_CONTRACT = 5;
120
- const ID_TAG_CHANNEL = 6; // # OBJECT tags
38
+ }; // # OBJECT tags
121
39
  // # see https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization
122
40
 
123
41
  const OBJECT_TAG_ACCOUNT = 10;
@@ -171,11 +89,6 @@ const OBJECT_TAG_SOPHIA_BYTE_CODE = 70;
171
89
  const TX_FIELD = (name, type, prefix) => [name, type, prefix];
172
90
 
173
91
  const TX_SCHEMA_FIELD = (schema, objectId) => [schema, objectId];
174
-
175
- const revertObject = obj => Object.entries(obj).reduce((acc, _ref) => {
176
- let [key, v] = _ref;
177
- return (acc[v] = key) && acc;
178
- }, {});
179
92
  /**
180
93
  * @constant
181
94
  * @description Object with transaction types
@@ -244,7 +157,6 @@ export const TX_TYPE = {
244
157
  nameserviceTree: 'nameserviceTree',
245
158
  oraclesTree: 'oraclesTree',
246
159
  accountsTree: 'accountsTree',
247
- // GA ACCOUNTS
248
160
  gaAttach: 'gaAttach',
249
161
  gaMeta: 'gaMeta',
250
162
  payingFor: 'payingFor',
@@ -335,7 +247,6 @@ export const OBJECT_ID_TX_TYPE = {
335
247
  [OBJECT_TAG_NAMESERVICE_TREE]: TX_TYPE.nameserviceTree,
336
248
  [OBJECT_TAG_ORACLES_TREE]: TX_TYPE.oraclesTree,
337
249
  [OBJECT_TAG_ACCOUNTS_TREE]: TX_TYPE.accountsTree,
338
- // GA Accounts
339
250
  [OBJECT_TAG_GA_ATTACH]: TX_TYPE.gaAttach,
340
251
  [OBJECT_TAG_GA_META]: TX_TYPE.gaMeta,
341
252
  [OBJECT_TAG_PAYING_FOR]: TX_TYPE.payingFor,
@@ -389,11 +300,11 @@ export const TX_FEE_BASE_GAS = txType => {
389
300
  }[txType] || 1;
390
301
  return new BigNumber(factor * BASE_GAS);
391
302
  };
392
- export const TX_FEE_OTHER_GAS = (txType, txSize, _ref2) => {
303
+ export const TX_FEE_OTHER_GAS = (txType, txSize, _ref) => {
393
304
  let {
394
305
  relativeTtl,
395
306
  innerTxSize
396
- } = _ref2;
307
+ } = _ref;
397
308
 
398
309
  switch (txType) {
399
310
  case TX_TYPE.oracleRegister:
@@ -410,91 +321,24 @@ export const TX_FEE_OTHER_GAS = (txType, txSize, _ref2) => {
410
321
  return new BigNumber(txSize).times(GAS_PER_BYTE);
411
322
  }
412
323
  };
413
- export const ID_TAG = {
414
- account: ID_TAG_ACCOUNT,
415
- name: ID_TAG_NAME,
416
- commitment: ID_TAG_COMMITMENT,
417
- oracle: ID_TAG_ORACLE,
418
- contract: ID_TAG_CONTRACT,
419
- channel: ID_TAG_CHANNEL
420
- };
421
- export const PREFIX_ID_TAG = {
422
- ak: ID_TAG.account,
423
- nm: ID_TAG.name,
424
- cm: ID_TAG.commitment,
425
- ok: ID_TAG.oracle,
426
- ct: ID_TAG.contract,
427
- ch: ID_TAG.channel
428
- };
429
- export const ID_TAG_PREFIX = revertObject(PREFIX_ID_TAG);
430
-
431
- const VALIDATION_ERROR = msg => msg;
432
-
433
- export const VALIDATION_MESSAGE = {
434
- [FIELD_TYPES.int]: _ref3 => {
435
- let {
436
- value,
437
- isMinusValue
438
- } = _ref3;
439
- return isMinusValue ? VALIDATION_ERROR(`${value} must be >= 0`) : VALIDATION_ERROR(`${value} is not of type Number or BigNumber`);
440
- },
441
- [FIELD_TYPES.amount]: _ref4 => {
442
- let {
443
- value,
444
- isMinusValue
445
- } = _ref4;
446
- return isMinusValue ? VALIDATION_ERROR(`${value} must be >= 0`) : VALIDATION_ERROR(`${value} is not of type Number or BigNumber`);
447
- },
448
- [FIELD_TYPES.id]: _ref5 => {
449
- let {
450
- value,
451
- prefix
452
- } = _ref5;
453
- return VALIDATION_ERROR(`'${value}' prefix doesn't match expected prefix '${prefix}' or ID_TAG for prefix not found`);
454
- },
455
- [FIELD_TYPES.binary]: _ref6 => {
456
- let {
457
- prefix,
458
- value
459
- } = _ref6;
460
- return VALIDATION_ERROR(`'${value}' prefix doesn't match expected prefix '${prefix}'`);
461
- },
462
- [FIELD_TYPES.string]: _ref7 => {
463
- let {
464
- value
465
- } = _ref7;
466
- return VALIDATION_ERROR('Not a string');
467
- },
468
- [FIELD_TYPES.pointers]: _ref8 => {
469
- let {
470
- value
471
- } = _ref8;
472
- return VALIDATION_ERROR('Value must be of type Array and contains only object\'s like \'{key: "account_pubkey", id: "ak_lkamsflkalsdalksdlasdlasdlamd"}\'');
473
- },
474
- [FIELD_TYPES.ctVersion]: _ref9 => {
475
- let {
476
- value
477
- } = _ref9;
478
- return VALIDATION_ERROR('Value must be an object with "vmVersion" and "abiVersion" fields');
479
- }
480
- };
481
324
  const BASE_TX = [TX_FIELD('tag', FIELD_TYPES.int), TX_FIELD('VSN', FIELD_TYPES.int)];
482
325
  export const CONTRACT_BYTE_CODE_LIMA = [...BASE_TX, TX_FIELD('sourceCodeHash', FIELD_TYPES.rawBinary), TX_FIELD('typeInfo', FIELD_TYPES.sophiaCodeTypeInfo), TX_FIELD('byteCode', FIELD_TYPES.rawBinary), TX_FIELD('compilerVersion', FIELD_TYPES.string), TX_FIELD('payable', FIELD_TYPES.bool)];
483
326
  const ACCOUNT_TX_2 = [...BASE_TX, TX_FIELD('flags', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('balance', FIELD_TYPES.int), TX_FIELD('gaContract', FIELD_TYPES.id, ['ct', 'nm']), TX_FIELD('gaAuthFun', FIELD_TYPES.binary, 'cb')];
484
327
  const SPEND_TX = [...BASE_TX, TX_FIELD('senderId', FIELD_TYPES.id, 'ak'), TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']), TX_FIELD('amount', FIELD_TYPES.amount), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('payload', FIELD_TYPES.payload)];
485
328
  const SIGNED_TX = [...BASE_TX, TX_FIELD('signatures', FIELD_TYPES.signatures), TX_FIELD('encodedTx', FIELD_TYPES.rlpBinary)];
486
329
  const NAME_PRE_CLAIM_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('commitmentId', FIELD_TYPES.id, 'cm'), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
487
- const NAME_CLAIM_TX_2 = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('name', FIELD_TYPES.binary, 'nm'), TX_FIELD('nameSalt', FIELD_TYPES.int), TX_FIELD('nameFee', FIELD_TYPES.amount), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
488
- const NAME_UPDATE_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('nameId', FIELD_TYPES.id, 'nm'), TX_FIELD('nameTtl', FIELD_TYPES.int), TX_FIELD('pointers', FIELD_TYPES.pointers), TX_FIELD('clientTtl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
489
- const NAME_TRANSFER_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('nameId', FIELD_TYPES.id, 'nm'), TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
490
- const NAME_REVOKE_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('nameId', FIELD_TYPES.id, 'nm'), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
491
- const CONTRACT_TX = [...BASE_TX, TX_FIELD('owner', FIELD_TYPES.id, 'ak'), TX_FIELD('ctVersion', FIELD_TYPES.int), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('log', FIELD_TYPES.binary, 'cb'), TX_FIELD('active', FIELD_TYPES.bool), TX_FIELD('referers', FIELD_TYPES.ids, 'ak'), TX_FIELD('deposit', FIELD_TYPES.amount)];
330
+ const NAME_CLAIM_TX_2 = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('name', Name), TX_FIELD('nameSalt', FIELD_TYPES.int), TX_FIELD('nameFee', NameFee), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
331
+ const NAME_UPDATE_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('nameId', NameId), TX_FIELD('nameTtl', FIELD_TYPES.int), TX_FIELD('pointers', FIELD_TYPES.pointers), TX_FIELD('clientTtl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
332
+ const NAME_TRANSFER_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('nameId', NameId), TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
333
+ const NAME_REVOKE_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('nameId', NameId), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
334
+ const CONTRACT_TX = [...BASE_TX, TX_FIELD('owner', FIELD_TYPES.id, 'ak'), TX_FIELD('ctVersion', FIELD_TYPES.int), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('log', FIELD_TYPES.binary, 'cb'), TX_FIELD('active', FIELD_TYPES.bool), TX_FIELD('referers', FIELD_TYPES.ids, 'ak'), TX_FIELD('deposit', Deposit)];
492
335
  const GA_ATTACH_TX = [...BASE_TX, TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('authFun', FIELD_TYPES.rawBinary), TX_FIELD('ctVersion', FIELD_TYPES.ctVersion), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('gas', FIELD_TYPES.int), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')];
493
336
  const GA_META_TX_2 = [...BASE_TX, TX_FIELD('gaId', FIELD_TYPES.id, 'ak'), TX_FIELD('authData', FIELD_TYPES.binary, 'cb'), TX_FIELD('abiVersion', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('gas', FIELD_TYPES.int), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('tx', FIELD_TYPES.rlpBinary)];
494
337
  const PAYING_FOR_TX = [...BASE_TX, TX_FIELD('payerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('tx', FIELD_TYPES.rlpBinary)];
495
- const CONTRACT_CREATE_TX = [...BASE_TX, TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('ctVersion', FIELD_TYPES.ctVersion), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('deposit', FIELD_TYPES.amount), TX_FIELD('amount', FIELD_TYPES.amount), TX_FIELD('gas', FIELD_TYPES.int), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')];
338
+ const CONTRACT_CREATE_TX = [...BASE_TX, TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('code', FIELD_TYPES.binary, 'cb'), TX_FIELD('ctVersion', FIELD_TYPES.ctVersion), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('deposit', Deposit), TX_FIELD('amount', FIELD_TYPES.amount), TX_FIELD('gas', FIELD_TYPES.int), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')];
496
339
  const CONTRACT_CALL_TX = [...BASE_TX, TX_FIELD('callerId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('contractId', FIELD_TYPES.id, ['ct', 'nm']), TX_FIELD('abiVersion', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('amount', FIELD_TYPES.amount), TX_FIELD('gas', FIELD_TYPES.int), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('callData', FIELD_TYPES.binary, 'cb')];
497
- const CONTRACT_CALL_RESULT_TX = [...BASE_TX, TX_FIELD('callerId', FIELD_TYPES.id, 'ak'), TX_FIELD('callerNonce', FIELD_TYPES.int), TX_FIELD('height', FIELD_TYPES.int), TX_FIELD('contractId', FIELD_TYPES.id, 'ct'), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('gasUsed', FIELD_TYPES.int), TX_FIELD('returnValue', FIELD_TYPES.binary, 'cb'), TX_FIELD('returnType', FIELD_TYPES.callReturnType), // TODO: add serialization for <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]
340
+ const CONTRACT_CALL_RESULT_TX = [...BASE_TX, TX_FIELD('callerId', FIELD_TYPES.id, 'ak'), TX_FIELD('callerNonce', FIELD_TYPES.int), TX_FIELD('height', FIELD_TYPES.int), TX_FIELD('contractId', FIELD_TYPES.id, 'ct'), TX_FIELD('gasPrice', FIELD_TYPES.int), TX_FIELD('gasUsed', FIELD_TYPES.int), TX_FIELD('returnValue', FIELD_TYPES.binary, 'cb'), TX_FIELD('returnType', FIELD_TYPES.callReturnType), // TODO: add serialization for
341
+ // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]
498
342
  TX_FIELD('log', FIELD_TYPES.rawBinary)];
499
343
  const ORACLE_REGISTER_TX = [...BASE_TX, TX_FIELD('accountId', FIELD_TYPES.id, 'ak'), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('queryFormat', FIELD_TYPES.string), TX_FIELD('responseFormat', FIELD_TYPES.string), TX_FIELD('queryFee', FIELD_TYPES.amount), TX_FIELD('oracleTtlType', FIELD_TYPES.int), TX_FIELD('oracleTtlValue', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('abiVersion', FIELD_TYPES.int)];
500
344
  const ORACLE_EXTEND_TX = [...BASE_TX, TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']), TX_FIELD('nonce', FIELD_TYPES.int), TX_FIELD('oracleTtlType', FIELD_TYPES.int), TX_FIELD('oracleTtlValue', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int)];
@@ -507,7 +351,7 @@ const CHANNEL_CLOSE_MUTUAL_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.i
507
351
  const CHANNEL_CLOSE_SOLO_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('poi', FIELD_TYPES.binary, 'pi'), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
508
352
  const CHANNEL_SLASH_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('poi', FIELD_TYPES.binary, 'pi'), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
509
353
  const CHANNEL_SETTLE_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int), TX_FIELD('responderAmountFinal', FIELD_TYPES.int), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
510
- const CHANNEL_FORCE_PROGRESS_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('round', FIELD_TYPES.int), TX_FIELD('update', FIELD_TYPES.binary), TX_FIELD('stateHash', FIELD_TYPES.binary), TX_FIELD('offChainTrees', FIELD_TYPES.stateTree), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
354
+ const CHANNEL_FORCE_PROGRESS_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('round', FIELD_TYPES.int), TX_FIELD('update', FIELD_TYPES.binary, 'cb'), TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'), TX_FIELD('offChainTrees', FIELD_TYPES.stateTree), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
511
355
  const CHANNEL_OFFCHAIN_TX_2 = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('round', FIELD_TYPES.int), TX_FIELD('stateHash', FIELD_TYPES.binary, 'st')];
512
356
  const CHANNEL_TX_3 = [...BASE_TX, TX_FIELD('initiator', FIELD_TYPES.id, 'ak'), TX_FIELD('responder', FIELD_TYPES.id, 'ak'), TX_FIELD('channelAmount', FIELD_TYPES.int), TX_FIELD('initiatorAmount', FIELD_TYPES.int), TX_FIELD('responderAmount', FIELD_TYPES.int), TX_FIELD('channelReserve', FIELD_TYPES.int), TX_FIELD('initiatorDelegateIds', FIELD_TYPES.ids), TX_FIELD('responderDelegateIds', FIELD_TYPES.ids), TX_FIELD('stateHash', FIELD_TYPES.hex), TX_FIELD('round', FIELD_TYPES.int), TX_FIELD('soloRound', FIELD_TYPES.int), TX_FIELD('lockPeriod', FIELD_TYPES.int), TX_FIELD('lockedUntil', FIELD_TYPES.int), TX_FIELD('initiatorAuth', FIELD_TYPES.binary, 'cb'), TX_FIELD('responderAuth', FIELD_TYPES.binary, 'cb')];
513
357
  const CHANNEL_SNAPSHOT_SOLO_TX = [...BASE_TX, TX_FIELD('channelId', FIELD_TYPES.id, 'ch'), TX_FIELD('fromId', FIELD_TYPES.id, 'ak'), TX_FIELD('payload', FIELD_TYPES.binary, 'tx'), TX_FIELD('ttl', FIELD_TYPES.int), TX_FIELD('fee', FIELD_TYPES.int), TX_FIELD('nonce', FIELD_TYPES.int)];
@@ -810,4 +654,4 @@ export const TX_DESERIALIZATION_SCHEMA = {
810
654
  3: TX_SCHEMA_FIELD(CONTRACT_BYTE_CODE_LIMA, OBJECT_TAG_SOPHIA_BYTE_CODE)
811
655
  }
812
656
  };
813
- //# sourceMappingURL=schema.js.map
657
+ //# sourceMappingURL=schema.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/tx/builder/schema.js"],"names":["BigNumber","Name","NameId","NameFee","Deposit","VSN","VSN_2","TX_TTL","QUERY_FEE","ORACLE_TTL","type","value","QUERY_TTL","RESPONSE_TTL","AMOUNT","GAS_MAX","MIN_GAS_PRICE","MAX_AUTH_FUN_GAS","DRY_RUN_ACCOUNT","pub","amount","OBJECT_TAG_ACCOUNT","OBJECT_TAG_SIGNED_TRANSACTION","OBJECT_TAG_SPEND_TRANSACTION","OBJECT_TAG_ORACLE_REGISTER_TRANSACTION","OBJECT_TAG_ORACLE_QUERY_TRANSACTION","OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION","OBJECT_TAG_ORACLE_EXTEND_TRANSACTION","OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION","OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION","OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION","OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION","OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION","OBJECT_TAG_CONTRACT","OBJECT_TAG_CONTRACT_CALL","OBJECT_TAG_CONTRACT_CREATE_TRANSACTION","OBJECT_TAG_CONTRACT_CALL_TRANSACTION","OBJECT_TAG_CHANNEL_CREATE_TX","OBJECT_TAG_CHANNEL_DEPOSIT_TX","OBJECT_TAG_CHANNEL_WITHRAW_TX","OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX","OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX","OBJECT_TAG_CHANNEL_SLASH_TX","OBJECT_TAG_CHANNEL_SETTLE_TX","OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_TX","OBJECT_TAG_CHANNEL","OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX","OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX","OBJECT_TAG_CHANNEL_RECONNECT_TX","OBJECT_TAG_PROOF_OF_INCLUSION","OBJECT_TAG_STATE_TREES","OBJECT_TAG_MERKLE_PATRICIA_TREE","OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE","OBJECT_TAG_CONTRACTS_TREE","OBJECT_TAG_CONTRACT_CALLS_TREE","OBJECT_TAG_CHANNELS_TREE","OBJECT_TAG_NAMESERVICE_TREE","OBJECT_TAG_ORACLES_TREE","OBJECT_TAG_ACCOUNTS_TREE","OBJECT_TAG_GA_ATTACH","OBJECT_TAG_GA_META","OBJECT_TAG_PAYING_FOR","OBJECT_TAG_SOPHIA_BYTE_CODE","TX_FIELD","name","prefix","TX_SCHEMA_FIELD","schema","objectId","TX_TYPE","account","signed","spend","nameClaim","namePreClaim","nameUpdate","nameRevoke","nameTransfer","contract","contractCreate","contractCall","contractCallResult","oracleRegister","oracleExtend","oracleQuery","oracleResponse","channelCreate","channelCloseMutual","channelCloseSolo","channelSlash","channelDeposit","channelWithdraw","channelSettle","channelOffChain","channelForceProgress","channel","channelSnapshotSolo","channelOffChainUpdateTransfer","channelOffChainUpdateDeposit","channelOffChainUpdateWithdrawal","channelOffChainCreateContract","channelOffChainCallContract","channelReconnect","proofOfInclusion","stateTrees","merklePatriciaTree","merklePatriciaTreeValue","contractsTree","contractCallsTree","channelsTree","nameserviceTree","oraclesTree","accountsTree","gaAttach","gaMeta","payingFor","sophiaByteCode","VM_VERSIONS","NO_VM","SOPHIA","SOPHIA_IMPROVEMENTS_MINERVA","SOPHIA_IMPROVEMENTS_FORTUNA","FATE","SOPHIA_IMPROVEMENTS_LIMA","FATE_2","ABI_VERSIONS","NO_ABI","PROTOCOL_VERSIONS","IRIS","PROTOCOL_VM_ABI","vmVersion","abiVersion","OBJECT_ID_TX_TYPE","FIELD_TYPES","int","id","ids","string","binary","rlpBinary","rlpBinaries","rawBinary","bool","hex","signatures","pointers","offChainUpdates","callStack","mptrees","callReturnType","ctVersion","sophiaCodeTypeInfo","payload","any","stateTree","BASE_GAS","GAS_PER_BYTE","DEFAULT_FEE","KEY_BLOCK_INTERVAL","TX_FEE_BASE_GAS","txType","factor","TX_FEE_OTHER_GAS","txSize","relativeTtl","innerTxSize","times","plus","Math","ceil","floor","minus","BASE_TX","CONTRACT_BYTE_CODE_LIMA","ACCOUNT_TX_2","SPEND_TX","SIGNED_TX","NAME_PRE_CLAIM_TX","NAME_CLAIM_TX_2","NAME_UPDATE_TX","NAME_TRANSFER_TX","NAME_REVOKE_TX","CONTRACT_TX","GA_ATTACH_TX","GA_META_TX_2","PAYING_FOR_TX","CONTRACT_CREATE_TX","CONTRACT_CALL_TX","CONTRACT_CALL_RESULT_TX","ORACLE_REGISTER_TX","ORACLE_EXTEND_TX","ORACLE_QUERY_TX","ORACLE_RESPOND_TX","CHANNEL_CREATE_TX_2","CHANNEL_DEPOSIT_TX","CHANNEL_WITHDRAW_TX","CHANNEL_CLOSE_MUTUAL_TX","CHANNEL_CLOSE_SOLO_TX","CHANNEL_SLASH_TX","CHANNEL_SETTLE_TX","CHANNEL_FORCE_PROGRESS_TX","CHANNEL_OFFCHAIN_TX_2","CHANNEL_TX_3","CHANNEL_SNAPSHOT_SOLO_TX","CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX","CHANNEL_OFFCHAIN_CALL_CONTRACT_TX","CHANNEL_RECONNECT_TX","CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX","CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX","CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX","PROOF_OF_INCLUSION_TX","STATE_TREES_TX","MERKLE_PATRICIA_TREE_TX","MERKLE_PATRICIA_TREE_VALUE_TX","CONTRACTS_TREE_TX","CONTRACT_CALLS_TREE_TX","CHANNELS_TREE_TX","NAMESERVICE_TREE_TX","ORACLES_TREE_TX","ACCOUNTS_TREE_TX","TX_SERIALIZATION_SCHEMA","TX_DESERIALIZATION_SCHEMA"],"mappings":"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","sourcesContent":["/**\n * Transaction Schema for TxBuilder\n * @module @aeternity/aepp-sdk/es/tx/builder/schema\n * @export TxSchema\n * @example import { SCHEMA } from '@aeternity/aepp-sdk'\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport BigNumber from 'bignumber.js'\nimport { Name, NameId, NameFee, Deposit } from './field-types'\n\nexport * from './constants'\nexport const VSN = 1\nexport const VSN_2 = 2\n\n// # TRANSACTION DEFAULT TTL\nexport const TX_TTL = 0\n// # ORACLE\nexport const QUERY_FEE = 30000\nexport const ORACLE_TTL = { type: 'delta', value: 500 }\nexport const QUERY_TTL = { type: 'delta', value: 10 }\nexport const RESPONSE_TTL = { type: 'delta', value: 10 }\n// # CONTRACT\nexport const AMOUNT = 0\nexport const GAS_MAX = 1600000 - 21000\nexport const MIN_GAS_PRICE = 1e9\nexport const MAX_AUTH_FUN_GAS = 50000\nexport const DRY_RUN_ACCOUNT = { pub: 'ak_11111111111111111111111111111111273Yts', amount: '100000000000000000000000000000000000' }\n\n// # OBJECT tags\n// # see https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\nconst OBJECT_TAG_ACCOUNT = 10\nexport const OBJECT_TAG_SIGNED_TRANSACTION = 11\nconst OBJECT_TAG_SPEND_TRANSACTION = 12\nconst OBJECT_TAG_ORACLE_REGISTER_TRANSACTION = 22\nconst OBJECT_TAG_ORACLE_QUERY_TRANSACTION = 23\nconst OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION = 24\nconst OBJECT_TAG_ORACLE_EXTEND_TRANSACTION = 25\nconst OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION = 32\nconst OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION = 33\nconst OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION = 34\nconst OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION = 35\nconst OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION = 36\nconst OBJECT_TAG_CONTRACT = 40\nconst OBJECT_TAG_CONTRACT_CALL = 41\nconst OBJECT_TAG_CONTRACT_CREATE_TRANSACTION = 42\nconst OBJECT_TAG_CONTRACT_CALL_TRANSACTION = 43\nconst OBJECT_TAG_CHANNEL_CREATE_TX = 50\nconst OBJECT_TAG_CHANNEL_DEPOSIT_TX = 51\nconst OBJECT_TAG_CHANNEL_WITHRAW_TX = 52\nconst OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX = 53\nconst OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX = 54\nconst OBJECT_TAG_CHANNEL_SLASH_TX = 55\nconst OBJECT_TAG_CHANNEL_SETTLE_TX = 56\nconst OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX = 521\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_TX = 57\nconst OBJECT_TAG_CHANNEL = 58\nconst OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX = 59\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = 570\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = 571\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = 572\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = 573\nconst OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = 574\nconst OBJECT_TAG_CHANNEL_RECONNECT_TX = 575\nconst OBJECT_TAG_PROOF_OF_INCLUSION = 60\nconst OBJECT_TAG_STATE_TREES = 62\nconst OBJECT_TAG_MERKLE_PATRICIA_TREE = 63\nconst OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE = 64\nconst OBJECT_TAG_CONTRACTS_TREE = 621\nconst OBJECT_TAG_CONTRACT_CALLS_TREE = 622\nconst OBJECT_TAG_CHANNELS_TREE = 623\nconst OBJECT_TAG_NAMESERVICE_TREE = 624\nconst OBJECT_TAG_ORACLES_TREE = 625\nconst OBJECT_TAG_ACCOUNTS_TREE = 626\nconst OBJECT_TAG_GA_ATTACH = 80\nconst OBJECT_TAG_GA_META = 81\nconst OBJECT_TAG_PAYING_FOR = 82\nconst OBJECT_TAG_SOPHIA_BYTE_CODE = 70\n\nconst TX_FIELD = (name, type, prefix) => [name, type, prefix]\nconst TX_SCHEMA_FIELD = (schema, objectId) => [schema, objectId]\n\n/**\n * @constant\n * @description Object with transaction types\n * @alias module:@aeternity/aepp-sdk/es/tx/builder/schema\n * @property {String} signed\n * @property {String} spend\n * @property {String} nameClaim\n * @property {String} namePreClaim\n * @property {String} nameUpdate\n * @property {String} nameRevoke\n * @property {String} nameTransfer\n * @property {String} contractCreate\n * @property {String} contractCall\n * @property {String} oracleRegister\n * @property {String} oracleExtend\n * @property {String} oracleQuery\n * @property {String} oracleResponse\n */\nexport const TX_TYPE = {\n account: 'account',\n signed: 'signedTx',\n spend: 'spendTx',\n // AENS\n nameClaim: 'nameClaimTx',\n namePreClaim: 'namePreClaimTx',\n nameUpdate: 'nameUpdateTx',\n nameRevoke: 'nameRevokeTx',\n nameTransfer: 'nameTransfer',\n // CONTRACT\n contract: 'contract',\n contractCreate: 'contractCreateTx',\n contractCall: 'contractCallTx',\n contractCallResult: 'contractCallResult',\n // ORACLE\n oracleRegister: 'oracleRegister',\n oracleExtend: 'oracleExtend',\n oracleQuery: 'oracleQuery',\n oracleResponse: 'oracleResponse',\n // STATE CHANNEL\n channelCreate: 'channelCreate',\n channelCloseMutual: 'channelCloseMutual',\n channelCloseSolo: 'channelCloseSolo',\n channelSlash: 'channelSlash',\n channelDeposit: 'channelDeposit',\n channelWithdraw: 'channelWithdraw',\n channelSettle: 'channelSettle',\n channelOffChain: 'channelOffChain',\n channelForceProgress: 'channelForceProgress',\n channel: 'channel',\n channelSnapshotSolo: 'channelSnapshotSolo',\n channelOffChainUpdateTransfer: 'channelOffChainUpdateTransfer',\n channelOffChainUpdateDeposit: 'channelOffChainUpdateDeposit',\n channelOffChainUpdateWithdrawal: 'channelOffChainUpdateWithdrawal',\n channelOffChainCreateContract: 'channelOffChainCreateContract',\n channelOffChainCallContract: 'channelOffChainCallContract',\n channelReconnect: 'channelReconnect',\n proofOfInclusion: 'proofOfInclusion',\n stateTrees: 'stateTrees',\n merklePatriciaTree: 'merklePatriciaTree',\n merklePatriciaTreeValue: 'merklePatriciaTreeValue',\n contractsTree: 'contractsTree',\n contractCallsTree: 'contractCallsTree',\n channelsTree: 'channelsTree',\n nameserviceTree: 'nameserviceTree',\n oraclesTree: 'oraclesTree',\n accountsTree: 'accountsTree',\n gaAttach: 'gaAttach',\n gaMeta: 'gaMeta',\n payingFor: 'payingFor',\n sophiaByteCode: 'sophiaByteCode'\n}\n\n// # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain\nexport const VM_VERSIONS = {\n NO_VM: 0,\n SOPHIA: 1,\n SOPHIA_IMPROVEMENTS_MINERVA: 3,\n SOPHIA_IMPROVEMENTS_FORTUNA: 4,\n FATE: 5,\n SOPHIA_IMPROVEMENTS_LIMA: 6,\n FATE_2: 7\n}\n// # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain\nexport const ABI_VERSIONS = {\n NO_ABI: 0,\n SOPHIA: 1,\n FATE: 3\n}\n\nexport const PROTOCOL_VERSIONS = {\n IRIS: 5\n}\n\n// First abi/vm by default\nexport const PROTOCOL_VM_ABI = {\n [PROTOCOL_VERSIONS.IRIS]: {\n [TX_TYPE.contractCreate]: {\n vmVersion: [VM_VERSIONS.FATE_2], abiVersion: [ABI_VERSIONS.FATE]\n },\n // TODO: Ensure that AEVM is still available here\n [TX_TYPE.contractCall]: {\n vmVersion: [\n VM_VERSIONS.FATE_2,\n VM_VERSIONS.FATE,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_LIMA,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_FORTUNA,\n VM_VERSIONS.SOPHIA,\n VM_VERSIONS.SOPHIA_IMPROVEMENTS_MINERVA\n ],\n abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]\n },\n [TX_TYPE.oracleRegister]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]\n }\n }\n}\n\nexport const OBJECT_ID_TX_TYPE = {\n [OBJECT_TAG_ACCOUNT]: TX_TYPE.account,\n [OBJECT_TAG_SIGNED_TRANSACTION]: TX_TYPE.signed,\n [OBJECT_TAG_SPEND_TRANSACTION]: TX_TYPE.spend,\n // AENS\n [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: TX_TYPE.nameClaim,\n [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: TX_TYPE.namePreClaim,\n [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: TX_TYPE.nameUpdate,\n [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: TX_TYPE.nameRevoke,\n [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: TX_TYPE.nameTransfer,\n // CONTRACT\n [OBJECT_TAG_CONTRACT]: TX_TYPE.contract,\n [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: TX_TYPE.contractCreate,\n [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: TX_TYPE.contractCall,\n [OBJECT_TAG_CONTRACT_CALL]: TX_TYPE.contractCallResult,\n // ORACLE\n [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: TX_TYPE.oracleRegister,\n [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: TX_TYPE.oracleExtend,\n [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: TX_TYPE.oracleQuery,\n [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: TX_TYPE.oracleResponse,\n // STATE CHANNEL\n [OBJECT_TAG_CHANNEL_CREATE_TX]: TX_TYPE.channelCreate,\n [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: TX_TYPE.channelCloseMutual,\n [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: TX_TYPE.channelCloseSolo,\n [OBJECT_TAG_CHANNEL_SLASH_TX]: TX_TYPE.channelSlash,\n [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: TX_TYPE.channelForceProgress,\n [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: TX_TYPE.channelDeposit,\n [OBJECT_TAG_CHANNEL_WITHRAW_TX]: TX_TYPE.channelWithdraw,\n [OBJECT_TAG_CHANNEL_SETTLE_TX]: TX_TYPE.channelSettle,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: TX_TYPE.channelOffChain,\n [OBJECT_TAG_CHANNEL]: TX_TYPE.channel,\n [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: TX_TYPE.channelSnapshotSolo,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: TX_TYPE.channelOffChainUpdateTransfer,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: TX_TYPE.channelOffChainUpdateDeposit,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: TX_TYPE.channelOffChainUpdateWithdrawal,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: TX_TYPE.channelOffChainCreateContract,\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: TX_TYPE.channelOffChainCallContract,\n [OBJECT_TAG_CHANNEL_RECONNECT_TX]: TX_TYPE.channelReconnect,\n [OBJECT_TAG_PROOF_OF_INCLUSION]: TX_TYPE.proofOfInclusion,\n [OBJECT_TAG_STATE_TREES]: TX_TYPE.stateTrees,\n [OBJECT_TAG_MERKLE_PATRICIA_TREE]: TX_TYPE.merklePatriciaTree,\n [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: TX_TYPE.merklePatriciaTreeValue,\n [OBJECT_TAG_CONTRACTS_TREE]: TX_TYPE.contractsTree,\n [OBJECT_TAG_CONTRACT_CALLS_TREE]: TX_TYPE.contractCallsTree,\n [OBJECT_TAG_CHANNELS_TREE]: TX_TYPE.channelsTree,\n [OBJECT_TAG_NAMESERVICE_TREE]: TX_TYPE.nameserviceTree,\n [OBJECT_TAG_ORACLES_TREE]: TX_TYPE.oraclesTree,\n [OBJECT_TAG_ACCOUNTS_TREE]: TX_TYPE.accountsTree,\n [OBJECT_TAG_GA_ATTACH]: TX_TYPE.gaAttach,\n [OBJECT_TAG_GA_META]: TX_TYPE.gaMeta,\n [OBJECT_TAG_PAYING_FOR]: TX_TYPE.payingFor,\n [OBJECT_TAG_SOPHIA_BYTE_CODE]: TX_TYPE.sophiaByteCode\n}\n\nexport const FIELD_TYPES = {\n int: 'int',\n amount: 'amount',\n id: 'id',\n ids: 'ids',\n string: 'string',\n binary: 'binary',\n rlpBinary: 'rlpBinary',\n rlpBinaries: 'rlpBinaries',\n rawBinary: 'rawBinary',\n bool: 'bool',\n hex: 'hex',\n signatures: 'signatures',\n pointers: 'pointers',\n offChainUpdates: 'offChainUpdates',\n callStack: 'callStack',\n proofOfInclusion: 'proofOfInclusion',\n mptrees: 'mptrees',\n callReturnType: 'callReturnType',\n ctVersion: 'ctVersion',\n sophiaCodeTypeInfo: 'sophiaCodeTypeInfo',\n payload: 'payload',\n any: 'any',\n stateTree: 'stateTree'\n}\n\n// FEE CALCULATION\nexport const BASE_GAS = 15000\nexport const GAS_PER_BYTE = 20\nexport const DEFAULT_FEE = 20000\nexport const KEY_BLOCK_INTERVAL = 3\n\n// MAP WITH FEE CALCULATION https://github.com/aeternity/protocol/blob/master/consensus/consensus.md#gas\nexport const TX_FEE_BASE_GAS = (txType) => {\n const factor = ({\n [TX_TYPE.channelForceProgress]: 30,\n [TX_TYPE.channelOffChain]: 0,\n [TX_TYPE.channelOffChainCallContract]: 0,\n [TX_TYPE.channelOffChainCreateContract]: 0,\n [TX_TYPE.channelOffChainUpdateDeposit]: 0,\n [TX_TYPE.channelOffChainUpdateWithdrawal]: 0,\n [TX_TYPE.channelOffChainUpdateTransfer]: 0,\n [TX_TYPE.contractCreate]: 5,\n [TX_TYPE.contractCall]: 12,\n [TX_TYPE.gaAttach]: 5,\n [TX_TYPE.gaMeta]: 5,\n [TX_TYPE.payingFor]: 1 / 5\n })[txType] || 1\n return new BigNumber(factor * BASE_GAS)\n}\n\nexport const TX_FEE_OTHER_GAS = (txType, txSize, { relativeTtl, innerTxSize }) => {\n switch (txType) {\n case TX_TYPE.oracleRegister:\n case TX_TYPE.oracleExtend:\n case TX_TYPE.oracleQuery:\n case TX_TYPE.oracleResponse:\n return new BigNumber(txSize)\n .times(GAS_PER_BYTE)\n .plus(\n Math.ceil(32000 * relativeTtl / Math.floor(60 * 24 * 365 / KEY_BLOCK_INTERVAL))\n )\n case TX_TYPE.gaMeta:\n case TX_TYPE.payingFor:\n return new BigNumber(txSize).minus(innerTxSize).times(GAS_PER_BYTE)\n default:\n return new BigNumber(txSize).times(GAS_PER_BYTE)\n }\n}\n\nconst BASE_TX = [\n TX_FIELD('tag', FIELD_TYPES.int),\n TX_FIELD('VSN', FIELD_TYPES.int)\n]\n\nexport const CONTRACT_BYTE_CODE_LIMA = [\n ...BASE_TX,\n TX_FIELD('sourceCodeHash', FIELD_TYPES.rawBinary),\n TX_FIELD('typeInfo', FIELD_TYPES.sophiaCodeTypeInfo),\n TX_FIELD('byteCode', FIELD_TYPES.rawBinary),\n TX_FIELD('compilerVersion', FIELD_TYPES.string),\n TX_FIELD('payable', FIELD_TYPES.bool)\n]\n\nconst ACCOUNT_TX_2 = [\n ...BASE_TX,\n TX_FIELD('flags', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('balance', FIELD_TYPES.int),\n TX_FIELD('gaContract', FIELD_TYPES.id, ['ct', 'nm']),\n TX_FIELD('gaAuthFun', FIELD_TYPES.binary, 'cb')\n]\n\nconst SPEND_TX = [\n ...BASE_TX,\n TX_FIELD('senderId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('payload', FIELD_TYPES.payload)\n]\n\nconst SIGNED_TX = [\n ...BASE_TX,\n TX_FIELD('signatures', FIELD_TYPES.signatures),\n TX_FIELD('encodedTx', FIELD_TYPES.rlpBinary)\n]\n\nconst NAME_PRE_CLAIM_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('commitmentId', FIELD_TYPES.id, 'cm'),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_CLAIM_TX_2 = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('name', Name),\n TX_FIELD('nameSalt', FIELD_TYPES.int),\n TX_FIELD('nameFee', NameFee),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_UPDATE_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', NameId),\n TX_FIELD('nameTtl', FIELD_TYPES.int),\n TX_FIELD('pointers', FIELD_TYPES.pointers),\n TX_FIELD('clientTtl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_TRANSFER_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', NameId),\n TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst NAME_REVOKE_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('nameId', NameId),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('owner', FIELD_TYPES.id, 'ak'),\n TX_FIELD('ctVersion', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('log', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('active', FIELD_TYPES.bool),\n TX_FIELD('referers', FIELD_TYPES.ids, 'ak'),\n TX_FIELD('deposit', Deposit)\n]\n\nconst GA_ATTACH_TX = [\n ...BASE_TX,\n TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('authFun', FIELD_TYPES.rawBinary),\n TX_FIELD('ctVersion', FIELD_TYPES.ctVersion),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst GA_META_TX_2 = [\n ...BASE_TX,\n TX_FIELD('gaId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('authData', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('tx', FIELD_TYPES.rlpBinary)\n]\n\nconst PAYING_FOR_TX = [\n ...BASE_TX,\n TX_FIELD('payerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('tx', FIELD_TYPES.rlpBinary)\n]\n\nconst CONTRACT_CREATE_TX = [\n ...BASE_TX,\n TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('ctVersion', FIELD_TYPES.ctVersion),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('deposit', Deposit),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CONTRACT_CALL_TX = [\n ...BASE_TX,\n TX_FIELD('callerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('contractId', FIELD_TYPES.id, ['ct', 'nm']),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('amount', FIELD_TYPES.amount),\n TX_FIELD('gas', FIELD_TYPES.int),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CONTRACT_CALL_RESULT_TX = [\n ...BASE_TX,\n TX_FIELD('callerId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('callerNonce', FIELD_TYPES.int),\n TX_FIELD('height', FIELD_TYPES.int),\n TX_FIELD('contractId', FIELD_TYPES.id, 'ct'),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('gasUsed', FIELD_TYPES.int),\n TX_FIELD('returnValue', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('returnType', FIELD_TYPES.callReturnType),\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]\n TX_FIELD('log', FIELD_TYPES.rawBinary)\n]\n\nconst ORACLE_REGISTER_TX = [\n ...BASE_TX,\n TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('queryFormat', FIELD_TYPES.string),\n TX_FIELD('responseFormat', FIELD_TYPES.string),\n TX_FIELD('queryFee', FIELD_TYPES.amount),\n TX_FIELD('oracleTtlType', FIELD_TYPES.int),\n TX_FIELD('oracleTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('abiVersion', FIELD_TYPES.int)\n]\n\nconst ORACLE_EXTEND_TX = [\n ...BASE_TX,\n TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('oracleTtlType', FIELD_TYPES.int),\n TX_FIELD('oracleTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst ORACLE_QUERY_TX = [\n ...BASE_TX,\n TX_FIELD('senderId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']),\n TX_FIELD('query', FIELD_TYPES.string),\n TX_FIELD('queryFee', FIELD_TYPES.amount),\n TX_FIELD('queryTtlType', FIELD_TYPES.int),\n TX_FIELD('queryTtlValue', FIELD_TYPES.int),\n TX_FIELD('responseTtlType', FIELD_TYPES.int),\n TX_FIELD('responseTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\nconst ORACLE_RESPOND_TX = [\n ...BASE_TX,\n TX_FIELD('oracleId', FIELD_TYPES.id, 'ok'),\n TX_FIELD('nonce', FIELD_TYPES.int),\n TX_FIELD('queryId', FIELD_TYPES.binary, 'oq'),\n TX_FIELD('response', FIELD_TYPES.string),\n TX_FIELD('responseTtlType', FIELD_TYPES.int),\n TX_FIELD('responseTtlValue', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CREATE_TX_2 = [\n ...BASE_TX,\n TX_FIELD('initiator', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmount', FIELD_TYPES.int),\n TX_FIELD('responder', FIELD_TYPES.id, 'ak'),\n TX_FIELD('responderAmount', FIELD_TYPES.int),\n TX_FIELD('channelReserve', FIELD_TYPES.int),\n TX_FIELD('lockPeriod', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('initiatorDelegateIds', FIELD_TYPES.string),\n TX_FIELD('responderDelegateIds', FIELD_TYPES.string),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_DEPOSIT_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_WITHDRAW_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('toId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CLOSE_MUTUAL_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int),\n TX_FIELD('responderAmountFinal', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_CLOSE_SOLO_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('poi', FIELD_TYPES.binary, 'pi'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_SLASH_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('poi', FIELD_TYPES.binary, 'pi'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_SETTLE_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int),\n TX_FIELD('responderAmountFinal', FIELD_TYPES.int),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_FORCE_PROGRESS_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('update', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),\n TX_FIELD('offChainTrees', FIELD_TYPES.stateTree),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_TX_2 = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('stateHash', FIELD_TYPES.binary, 'st')\n]\n\nconst CHANNEL_TX_3 = [\n ...BASE_TX,\n TX_FIELD('initiator', FIELD_TYPES.id, 'ak'),\n TX_FIELD('responder', FIELD_TYPES.id, 'ak'),\n TX_FIELD('channelAmount', FIELD_TYPES.int),\n TX_FIELD('initiatorAmount', FIELD_TYPES.int),\n TX_FIELD('responderAmount', FIELD_TYPES.int),\n TX_FIELD('channelReserve', FIELD_TYPES.int),\n TX_FIELD('initiatorDelegateIds', FIELD_TYPES.ids),\n TX_FIELD('responderDelegateIds', FIELD_TYPES.ids),\n TX_FIELD('stateHash', FIELD_TYPES.hex),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('soloRound', FIELD_TYPES.int),\n TX_FIELD('lockPeriod', FIELD_TYPES.int),\n TX_FIELD('lockedUntil', FIELD_TYPES.int),\n TX_FIELD('initiatorAuth', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('responderAuth', FIELD_TYPES.binary, 'cb')\n]\n\nconst CHANNEL_SNAPSHOT_SOLO_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),\n TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),\n TX_FIELD('ttl', FIELD_TYPES.int),\n TX_FIELD('fee', FIELD_TYPES.int),\n TX_FIELD('nonce', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('owner', FIELD_TYPES.id, 'ak'),\n TX_FIELD('ctVersion', FIELD_TYPES.int),\n TX_FIELD('code', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('deposit', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb')\n]\n\nconst CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = [\n ...BASE_TX,\n TX_FIELD('caller', FIELD_TYPES.id, 'ak'),\n TX_FIELD('contract', FIELD_TYPES.id, 'ct'),\n TX_FIELD('abiVersion', FIELD_TYPES.int),\n TX_FIELD('amount', FIELD_TYPES.int),\n TX_FIELD('callData', FIELD_TYPES.binary, 'cb'),\n TX_FIELD('callStack', FIELD_TYPES.callStack),\n TX_FIELD('gasPrice', FIELD_TYPES.int),\n TX_FIELD('gasLimit', FIELD_TYPES.int)\n]\n\nconst CHANNEL_RECONNECT_TX = [\n ...BASE_TX,\n TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),\n TX_FIELD('round', FIELD_TYPES.int),\n TX_FIELD('role', FIELD_TYPES.string),\n TX_FIELD('pubkey', FIELD_TYPES.id, 'ak')\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('to', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = [\n ...BASE_TX,\n TX_FIELD('from', FIELD_TYPES.id, 'ak'),\n TX_FIELD('amount', FIELD_TYPES.int)\n]\n\nconst PROOF_OF_INCLUSION_TX = [\n ...BASE_TX,\n TX_FIELD('accounts', FIELD_TYPES.mptrees),\n TX_FIELD('calls', FIELD_TYPES.mptrees),\n TX_FIELD('channels', FIELD_TYPES.mptrees),\n TX_FIELD('contracts', FIELD_TYPES.mptrees),\n TX_FIELD('ns', FIELD_TYPES.mptrees),\n TX_FIELD('oracles', FIELD_TYPES.mptrees)\n]\n\nconst STATE_TREES_TX = [\n ...BASE_TX,\n TX_FIELD('contracts', FIELD_TYPES.rlpBinary),\n TX_FIELD('calls', FIELD_TYPES.rlpBinary),\n TX_FIELD('channels', FIELD_TYPES.rlpBinary),\n TX_FIELD('ns', FIELD_TYPES.rlpBinary),\n TX_FIELD('oracles', FIELD_TYPES.rlpBinary),\n TX_FIELD('accounts', FIELD_TYPES.rlpBinary)\n]\n\nconst MERKLE_PATRICIA_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('values', FIELD_TYPES.rlpBinaries)\n]\n\nconst MERKLE_PATRICIA_TREE_VALUE_TX = [\n ...BASE_TX,\n TX_FIELD('key', FIELD_TYPES.hex),\n TX_FIELD('value', FIELD_TYPES.rawBinary)\n]\n\nconst CONTRACTS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('contracts', FIELD_TYPES.rlpBinary)\n]\n\nconst CONTRACT_CALLS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('calls', FIELD_TYPES.rlpBinary)\n]\n\nconst CHANNELS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('channels', FIELD_TYPES.rlpBinary)\n]\n\nconst NAMESERVICE_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('mtree', FIELD_TYPES.rlpBinary)\n]\n\nconst ORACLES_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('otree', FIELD_TYPES.rlpBinary)\n]\n\nconst ACCOUNTS_TREE_TX = [\n ...BASE_TX,\n TX_FIELD('accounts', FIELD_TYPES.rlpBinary)\n]\n\nexport const TX_SERIALIZATION_SCHEMA = {\n [TX_TYPE.account]: {\n 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)\n },\n [TX_TYPE.signed]: {\n 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)\n },\n [TX_TYPE.spend]: {\n 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)\n },\n [TX_TYPE.namePreClaim]: {\n 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)\n },\n [TX_TYPE.nameClaim]: {\n 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)\n },\n [TX_TYPE.nameUpdate]: {\n 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)\n },\n [TX_TYPE.nameTransfer]: {\n 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)\n },\n [TX_TYPE.nameRevoke]: {\n 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)\n },\n [TX_TYPE.contract]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)\n },\n [TX_TYPE.contractCreate]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)\n },\n [TX_TYPE.contractCall]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)\n },\n [TX_TYPE.contractCallResult]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)\n },\n [TX_TYPE.oracleRegister]: {\n 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)\n },\n [TX_TYPE.oracleExtend]: {\n 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)\n },\n [TX_TYPE.oracleQuery]: {\n 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)\n },\n [TX_TYPE.oracleResponse]: {\n 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)\n },\n [TX_TYPE.channelCreate]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)\n },\n [TX_TYPE.channelCloseMutual]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)\n },\n [TX_TYPE.channelCloseSolo]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)\n },\n [TX_TYPE.channelSlash]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)\n },\n [TX_TYPE.channelDeposit]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)\n },\n [TX_TYPE.channelWithdraw]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)\n },\n [TX_TYPE.channelSettle]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)\n },\n [TX_TYPE.channelForceProgress]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)\n },\n [TX_TYPE.channelOffChain]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)\n },\n [TX_TYPE.channel]: {\n 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)\n },\n [TX_TYPE.channelSnapshotSolo]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)\n },\n [TX_TYPE.channelOffChainUpdateTransfer]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX\n )\n },\n [TX_TYPE.channelOffChainUpdateDeposit]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX\n )\n },\n [TX_TYPE.channelOffChainUpdateWithdrawal]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX\n )\n },\n [TX_TYPE.channelOffChainCreateContract]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX\n )\n },\n [TX_TYPE.channelOffChainCallContract]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX\n )\n },\n [TX_TYPE.channelReconnect]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)\n },\n [TX_TYPE.proofOfInclusion]: {\n 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)\n },\n [TX_TYPE.stateTrees]: {\n 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)\n },\n [TX_TYPE.merklePatriciaTree]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)\n },\n [TX_TYPE.merklePatriciaTreeValue]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)\n },\n [TX_TYPE.contractsTree]: {\n 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)\n },\n [TX_TYPE.contractCallsTree]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)\n },\n [TX_TYPE.channelsTree]: {\n 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)\n },\n [TX_TYPE.nameserviceTree]: {\n 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)\n },\n [TX_TYPE.oraclesTree]: {\n 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)\n },\n [TX_TYPE.accountsTree]: {\n 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)\n },\n [TX_TYPE.gaAttach]: {\n 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)\n },\n [TX_TYPE.gaMeta]: {\n 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)\n },\n [TX_TYPE.payingFor]: {\n 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)\n }\n}\n\nexport const TX_DESERIALIZATION_SCHEMA = {\n [OBJECT_TAG_ACCOUNT]: {\n 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)\n },\n [OBJECT_TAG_SIGNED_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)\n },\n [OBJECT_TAG_SPEND_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: {\n 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)\n },\n [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)\n },\n [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)\n },\n [OBJECT_TAG_CONTRACT_CALL]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)\n },\n [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)\n },\n [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: {\n 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)\n },\n [OBJECT_TAG_CHANNEL_CREATE_TX]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)\n },\n [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)\n },\n [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)\n },\n [OBJECT_TAG_CHANNEL_SLASH_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)\n },\n [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)\n },\n [OBJECT_TAG_CHANNEL_WITHRAW_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)\n },\n [OBJECT_TAG_CHANNEL_SETTLE_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: {\n 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)\n },\n [OBJECT_TAG_CHANNEL]: {\n 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)\n },\n [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: {\n 1: TX_SCHEMA_FIELD(\n CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX\n )\n },\n [OBJECT_TAG_CHANNEL_RECONNECT_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)\n },\n [OBJECT_TAG_PROOF_OF_INCLUSION]: {\n 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)\n },\n [OBJECT_TAG_STATE_TREES]: {\n 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)\n },\n [OBJECT_TAG_MERKLE_PATRICIA_TREE]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)\n },\n [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: {\n 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)\n },\n [OBJECT_TAG_CONTRACTS_TREE]: {\n 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)\n },\n [OBJECT_TAG_CONTRACT_CALLS_TREE]: {\n 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)\n },\n [OBJECT_TAG_CHANNELS_TREE]: {\n 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)\n },\n [OBJECT_TAG_NAMESERVICE_TREE]: {\n 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)\n },\n [OBJECT_TAG_ORACLES_TREE]: {\n 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)\n },\n [OBJECT_TAG_ACCOUNTS_TREE]: {\n 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)\n },\n [OBJECT_TAG_GA_ATTACH]: {\n 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)\n },\n [OBJECT_TAG_GA_META]: {\n 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)\n },\n [OBJECT_TAG_PAYING_FOR]: {\n 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)\n },\n [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: {\n 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)\n },\n [OBJECT_TAG_SOPHIA_BYTE_CODE]: {\n 3: TX_SCHEMA_FIELD(CONTRACT_BYTE_CODE_LIMA, OBJECT_TAG_SOPHIA_BYTE_CODE)\n }\n}\n"],"file":"schema.mjs"}