@aeternity/aepp-sdk 11.0.1 → 12.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 (376) hide show
  1. package/LICENSE +1 -1
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +12 -19
  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/AeSdk.d.ts +37 -0
  10. package/es/AeSdk.mjs +81 -0
  11. package/es/AeSdk.mjs.map +1 -0
  12. package/es/AeSdkAepp.d.ts +69 -0
  13. package/es/AeSdkAepp.mjs +175 -0
  14. package/es/AeSdkAepp.mjs.map +1 -0
  15. package/es/AeSdkBase.d.ts +212 -0
  16. package/es/AeSdkBase.mjs +310 -0
  17. package/es/AeSdkBase.mjs.map +1 -0
  18. package/es/AeSdkWallet.d.ts +103 -0
  19. package/es/AeSdkWallet.mjs +322 -0
  20. package/es/AeSdkWallet.mjs.map +1 -0
  21. package/es/Node.d.ts +44 -0
  22. package/es/Node.mjs +141 -0
  23. package/es/Node.mjs.map +1 -0
  24. package/es/account/Base.d.ts +65 -0
  25. package/es/account/Base.mjs +123 -0
  26. package/es/account/Base.mjs.map +1 -0
  27. package/es/account/Memory.d.ts +25 -0
  28. package/es/account/Memory.mjs +81 -0
  29. package/es/account/Memory.mjs.map +1 -0
  30. package/es/account/Rpc.d.ts +27 -0
  31. package/es/account/Rpc.mjs +79 -0
  32. package/es/account/Rpc.mjs.map +1 -0
  33. package/es/aens.d.ts +209 -0
  34. package/es/aens.mjs +332 -0
  35. package/es/aens.mjs.map +1 -0
  36. package/es/aepp-wallet-communication/connection/Browser.d.ts +32 -0
  37. package/es/aepp-wallet-communication/connection/Browser.mjs +70 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  39. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +17 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +57 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  42. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +35 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +142 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  45. package/es/aepp-wallet-communication/connection-proxy.d.ts +10 -0
  46. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +15 -11
  47. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  48. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +33 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  51. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  52. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  54. package/es/aepp-wallet-communication/schema.d.ts +90 -46
  55. package/es/aepp-wallet-communication/schema.mjs +214 -0
  56. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  57. package/es/aepp-wallet-communication/wallet-detector.d.ts +24 -0
  58. package/es/aepp-wallet-communication/wallet-detector.mjs +63 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  60. package/es/apis/compiler/compiler.d.ts +92 -0
  61. package/es/apis/compiler/compiler.mjs +576 -0
  62. package/es/apis/compiler/compiler.mjs.map +1 -0
  63. package/es/apis/compiler/index.d.ts +2 -0
  64. package/es/apis/compiler/index.mjs +3 -0
  65. package/es/apis/compiler/index.mjs.map +1 -0
  66. package/es/apis/compiler/models/index.d.ts +248 -0
  67. package/es/apis/compiler/models/index.mjs +48 -0
  68. package/es/apis/compiler/models/index.mjs.map +1 -0
  69. package/es/apis/compiler/models/mappers.d.ts +23 -0
  70. package/es/apis/compiler/models/mappers.mjs +585 -0
  71. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  72. package/es/apis/compiler/models/parameters.d.ts +13 -0
  73. package/es/apis/compiler/models/parameters.mjs +71 -0
  74. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  75. package/es/apis/node/index.d.ts +2 -0
  76. package/es/apis/node/index.mjs +3 -0
  77. package/es/apis/node/index.mjs.map +1 -0
  78. package/es/apis/node/models/index.d.ts +1061 -0
  79. package/es/apis/node/models/index.mjs +2 -0
  80. package/es/apis/node/models/index.mjs.map +1 -0
  81. package/es/apis/node/models/mappers.d.ts +95 -0
  82. package/es/apis/node/models/mappers.mjs +4164 -0
  83. package/es/apis/node/models/mappers.mjs.map +1 -0
  84. package/es/apis/node/models/parameters.d.ts +17 -0
  85. package/es/apis/node/models/parameters.mjs +165 -0
  86. package/es/apis/node/models/parameters.mjs.map +1 -0
  87. package/es/apis/node/node.d.ts +215 -0
  88. package/es/apis/node/node.mjs +1165 -0
  89. package/es/apis/node/node.mjs.map +1 -0
  90. package/es/chain.d.ts +220 -0
  91. package/es/chain.mjs +524 -0
  92. package/es/chain.mjs.map +1 -0
  93. package/es/channel/handlers.d.ts +34 -0
  94. package/es/channel/handlers.mjs +147 -112
  95. package/es/channel/handlers.mjs.map +1 -1
  96. package/es/channel/index.d.ts +634 -0
  97. package/es/channel/index.mjs +898 -900
  98. package/es/channel/index.mjs.map +1 -1
  99. package/es/channel/internal.d.ts +100 -0
  100. package/es/channel/internal.mjs +97 -51
  101. package/es/channel/internal.mjs.map +1 -1
  102. package/es/contract/Compiler.d.ts +17 -0
  103. package/es/contract/Compiler.mjs +67 -0
  104. package/es/contract/Compiler.mjs.map +1 -0
  105. package/es/contract/aci.d.ts +125 -0
  106. package/es/contract/aci.mjs +199 -180
  107. package/es/contract/aci.mjs.map +1 -1
  108. package/es/contract/ga.d.ts +68 -0
  109. package/es/contract/ga.mjs +190 -0
  110. package/es/contract/ga.mjs.map +1 -0
  111. package/es/contract/methods.d.ts +68 -0
  112. package/es/contract/methods.mjs +101 -0
  113. package/es/contract/methods.mjs.map +1 -0
  114. package/es/index.d.ts +32 -0
  115. package/es/index.mjs +32 -40
  116. package/es/index.mjs.map +1 -1
  117. package/es/oracle.d.ts +154 -0
  118. package/es/oracle.mjs +288 -0
  119. package/es/oracle.mjs.map +1 -0
  120. package/es/spend.d.ts +61 -0
  121. package/es/spend.mjs +122 -0
  122. package/es/spend.mjs.map +1 -0
  123. package/es/tx/builder/constants.d.ts +41 -0
  124. package/es/tx/builder/constants.mjs +11 -19
  125. package/es/tx/builder/constants.mjs.map +1 -1
  126. package/es/tx/builder/field-types.d.ts +62 -0
  127. package/es/tx/builder/field-types.mjs +62 -10
  128. package/es/tx/builder/field-types.mjs.map +1 -1
  129. package/es/tx/builder/helpers.d.ts +131 -0
  130. package/es/tx/builder/helpers.mjs +71 -169
  131. package/es/tx/builder/helpers.mjs.map +1 -1
  132. package/es/tx/builder/index.d.ts +75 -0
  133. package/es/tx/builder/index.mjs +141 -323
  134. package/es/tx/builder/index.mjs.map +1 -1
  135. package/es/tx/builder/schema.d.ts +350 -0
  136. package/es/tx/builder/schema.mjs +173 -510
  137. package/es/tx/builder/schema.mjs.map +1 -1
  138. package/es/tx/index.d.ts +63 -0
  139. package/es/tx/index.mjs +171 -265
  140. package/es/tx/index.mjs.map +1 -1
  141. package/es/tx/min-fee.d.ts +20 -0
  142. package/es/tx/min-fee.mjs +148 -0
  143. package/es/tx/min-fee.mjs.map +1 -0
  144. package/es/tx/validator.d.ts +19 -0
  145. package/es/tx/validator.mjs +64 -71
  146. package/es/tx/validator.mjs.map +1 -1
  147. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  148. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  149. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  150. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  151. package/es/typings/bip32-path/index.d.mjs +2 -0
  152. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  153. package/es/typings/blakejs/index.d.mjs.map +1 -1
  154. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  155. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  156. package/es/utils/amount-formatter.d.ts +42 -0
  157. package/es/utils/amount-formatter.mjs +28 -41
  158. package/es/utils/amount-formatter.mjs.map +1 -1
  159. package/es/utils/autorest.d.ts +6 -0
  160. package/es/utils/autorest.mjs +97 -0
  161. package/es/utils/autorest.mjs.map +1 -0
  162. package/es/utils/bignumber.d.ts +13 -0
  163. package/es/utils/bignumber.mjs +10 -8
  164. package/es/utils/bignumber.mjs.map +1 -1
  165. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  166. package/es/utils/bytes.mjs +10 -14
  167. package/es/utils/bytes.mjs.map +1 -1
  168. package/es/utils/crypto.d.ts +103 -0
  169. package/es/utils/crypto.mjs +60 -68
  170. package/es/utils/crypto.mjs.map +1 -1
  171. package/es/utils/encoder.d.ts +26 -0
  172. package/es/utils/encoder.mjs +47 -51
  173. package/es/utils/encoder.mjs.map +1 -1
  174. package/es/{errors.d.ts → utils/errors.d.ts} +254 -57
  175. package/es/utils/errors.mjs +318 -125
  176. package/es/utils/errors.mjs.map +1 -1
  177. package/es/utils/hd-wallet.d.ts +34 -0
  178. package/es/utils/hd-wallet.mjs +27 -16
  179. package/es/utils/hd-wallet.mjs.map +1 -1
  180. package/es/utils/json-big.d.ts +5 -0
  181. package/es/utils/json-big.mjs +10 -14
  182. package/es/utils/json-big.mjs.map +1 -1
  183. package/es/utils/keystore.d.ts +51 -0
  184. package/es/utils/keystore.mjs +98 -193
  185. package/es/utils/keystore.mjs.map +1 -1
  186. package/es/{mptree.d.ts → utils/mptree.d.ts} +5 -8
  187. package/es/utils/mptree.mjs +13 -14
  188. package/es/utils/mptree.mjs.map +1 -1
  189. package/es/utils/other.d.ts +14 -0
  190. package/es/utils/other.mjs +21 -36
  191. package/es/utils/other.mjs.map +1 -1
  192. package/es/{semver-satisfies.d.ts → utils/semver-satisfies.d.ts} +0 -0
  193. package/es/utils/semver-satisfies.mjs.map +1 -1
  194. package/es/utils/string.d.ts +24 -0
  195. package/es/utils/string.mjs +8 -10
  196. package/es/utils/string.mjs.map +1 -1
  197. package/package.json +49 -39
  198. package/src/AeSdk.ts +65 -0
  199. package/src/AeSdkAepp.ts +167 -0
  200. package/src/AeSdkBase.ts +320 -0
  201. package/src/AeSdkWallet.ts +332 -0
  202. package/src/Node.ts +167 -0
  203. package/src/account/Base.ts +114 -0
  204. package/src/account/Memory.ts +83 -0
  205. package/src/account/Rpc.ts +67 -0
  206. package/src/aens.ts +391 -0
  207. package/src/aepp-wallet-communication/connection/Browser.ts +68 -0
  208. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +58 -0
  209. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +111 -0
  210. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +16 -17
  211. package/src/aepp-wallet-communication/rpc/RpcClient.ts +137 -0
  212. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  213. package/src/aepp-wallet-communication/schema.ts +181 -0
  214. package/src/aepp-wallet-communication/wallet-detector.ts +71 -0
  215. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  216. package/src/apis/compiler/compiler.ts +585 -0
  217. package/src/apis/compiler/index.ts +2 -0
  218. package/src/apis/compiler/models/index.ts +301 -0
  219. package/src/apis/compiler/models/mappers.ts +583 -0
  220. package/src/apis/compiler/models/parameters.ts +93 -0
  221. package/src/apis/node/code-model-v4.yaml +10046 -0
  222. package/src/apis/node/index.ts +2 -0
  223. package/src/apis/node/models/index.ts +1253 -0
  224. package/src/apis/node/models/mappers.ts +4278 -0
  225. package/src/apis/node/models/parameters.ts +188 -0
  226. package/src/apis/node/node.ts +1299 -0
  227. package/src/chain.ts +444 -0
  228. package/src/channel/{handlers.js → handlers.ts} +220 -128
  229. package/src/channel/index.ts +991 -0
  230. package/src/channel/internal.ts +345 -0
  231. package/src/contract/Compiler.ts +66 -0
  232. package/src/contract/aci.ts +529 -0
  233. package/src/contract/ga.ts +178 -0
  234. package/src/contract/methods.ts +118 -0
  235. package/src/index.ts +51 -0
  236. package/src/oracle.ts +342 -0
  237. package/src/spend.ts +152 -0
  238. package/src/tx/builder/{constants.js → constants.ts} +12 -16
  239. package/src/tx/builder/field-types.ts +111 -0
  240. package/src/tx/builder/helpers.ts +253 -0
  241. package/src/tx/builder/index.ts +394 -0
  242. package/src/tx/builder/schema.ts +771 -0
  243. package/src/tx/index.ts +199 -0
  244. package/src/tx/min-fee.ts +136 -0
  245. package/src/tx/validator.ts +226 -0
  246. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  247. package/src/typings/@aeternity__uuid/index.d.ts +3 -0
  248. package/src/typings/bip32-path/index.d.ts +33 -0
  249. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  250. package/src/utils/amount-formatter.ts +29 -42
  251. package/src/utils/autorest.ts +90 -0
  252. package/src/utils/bignumber.ts +9 -11
  253. package/src/utils/bytes.ts +12 -14
  254. package/src/utils/crypto.ts +217 -0
  255. package/src/utils/encoder.ts +52 -55
  256. package/src/utils/errors.ts +268 -134
  257. package/src/utils/hd-wallet.ts +134 -0
  258. package/src/utils/json-big.ts +26 -0
  259. package/src/utils/keystore.ts +179 -0
  260. package/src/utils/mptree.ts +14 -14
  261. package/src/utils/other.ts +28 -43
  262. package/src/utils/string.ts +8 -10
  263. package/es/account/base.mjs +0 -179
  264. package/es/account/base.mjs.map +0 -1
  265. package/es/account/memory.mjs +0 -99
  266. package/es/account/memory.mjs.map +0 -1
  267. package/es/account/multiple.mjs +0 -179
  268. package/es/account/multiple.mjs.map +0 -1
  269. package/es/ae/aens.mjs +0 -404
  270. package/es/ae/aens.mjs.map +0 -1
  271. package/es/ae/aepp.mjs +0 -45
  272. package/es/ae/aepp.mjs.map +0 -1
  273. package/es/ae/contract.mjs +0 -159
  274. package/es/ae/contract.mjs.map +0 -1
  275. package/es/ae/index.mjs +0 -207
  276. package/es/ae/index.mjs.map +0 -1
  277. package/es/ae/oracle.mjs +0 -339
  278. package/es/ae/oracle.mjs.map +0 -1
  279. package/es/ae/universal.mjs +0 -45
  280. package/es/ae/universal.mjs.map +0 -1
  281. package/es/ae/wallet.mjs +0 -50
  282. package/es/ae/wallet.mjs.map +0 -1
  283. package/es/amount-formatter.d.ts +0 -58
  284. package/es/bignumber.d.ts +0 -18
  285. package/es/chain/index.mjs +0 -272
  286. package/es/chain/index.mjs.map +0 -1
  287. package/es/chain/node.mjs +0 -442
  288. package/es/chain/node.mjs.map +0 -1
  289. package/es/contract/compiler.mjs +0 -115
  290. package/es/contract/compiler.mjs.map +0 -1
  291. package/es/contract/ga/helpers.mjs +0 -30
  292. package/es/contract/ga/helpers.mjs.map +0 -1
  293. package/es/contract/ga/index.mjs +0 -178
  294. package/es/contract/ga/index.mjs.map +0 -1
  295. package/es/crypto-ts.d.ts +0 -9
  296. package/es/encoder.d.ts +0 -26
  297. package/es/node-pool/index.mjs +0 -188
  298. package/es/node-pool/index.mjs.map +0 -1
  299. package/es/node.mjs +0 -133
  300. package/es/node.mjs.map +0 -1
  301. package/es/other.d.ts +0 -31
  302. package/es/string.d.ts +0 -26
  303. package/es/tx/tx-object.mjs +0 -283
  304. package/es/tx/tx-object.mjs.map +0 -1
  305. package/es/tx/tx.mjs +0 -938
  306. package/es/tx/tx.mjs.map +0 -1
  307. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  308. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  309. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  310. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  311. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  312. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  313. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  314. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  315. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  316. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  317. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  318. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  319. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  320. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  321. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  322. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  323. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  324. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  325. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  326. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  327. package/es/utils/async-init.mjs +0 -64
  328. package/es/utils/async-init.mjs.map +0 -1
  329. package/es/utils/crypto-ts.mjs.map +0 -1
  330. package/es/utils/swagger.mjs +0 -164
  331. package/es/utils/swagger.mjs.map +0 -1
  332. package/src/account/base.js +0 -153
  333. package/src/account/memory.js +0 -83
  334. package/src/account/multiple.js +0 -162
  335. package/src/ae/aens.js +0 -361
  336. package/src/ae/aepp.js +0 -45
  337. package/src/ae/contract.js +0 -148
  338. package/src/ae/index.js +0 -168
  339. package/src/ae/oracle.js +0 -311
  340. package/src/ae/universal.js +0 -47
  341. package/src/ae/wallet.js +0 -50
  342. package/src/chain/index.js +0 -269
  343. package/src/chain/node.js +0 -320
  344. package/src/channel/index.js +0 -903
  345. package/src/channel/internal.js +0 -236
  346. package/src/contract/aci.js +0 -376
  347. package/src/contract/compiler.js +0 -100
  348. package/src/contract/ga/helpers.js +0 -19
  349. package/src/contract/ga/index.js +0 -150
  350. package/src/index.js +0 -89
  351. package/src/node-pool/index.js +0 -172
  352. package/src/node.js +0 -116
  353. package/src/tx/builder/field-types.js +0 -61
  354. package/src/tx/builder/helpers.js +0 -334
  355. package/src/tx/builder/index.js +0 -465
  356. package/src/tx/builder/schema.js +0 -1100
  357. package/src/tx/index.js +0 -301
  358. package/src/tx/tx-object.js +0 -187
  359. package/src/tx/tx.js +0 -631
  360. package/src/tx/validator.js +0 -181
  361. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  362. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  363. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  364. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  365. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  366. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  367. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  368. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  369. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  370. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  371. package/src/utils/async-init.js +0 -45
  372. package/src/utils/crypto.js +0 -219
  373. package/src/utils/hd-wallet.js +0 -100
  374. package/src/utils/json-big.js +0 -26
  375. package/src/utils/keystore.js +0 -219
  376. package/src/utils/swagger.js +0 -156
@@ -1,1100 +0,0 @@
1
- /**
2
- * Transaction Schema for TxBuilder
3
- * @module @aeternity/aepp-sdk/es/tx/builder/schema
4
- * @export TxSchema
5
- * @example import { SCHEMA } from '@aeternity/aepp-sdk'
6
- */
7
- // # RLP version number
8
- // # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization
9
-
10
- import BigNumber from 'bignumber.js'
11
- import { Name, NameId, NameFee, Deposit } from './field-types'
12
-
13
- export * from './constants'
14
- export const VSN = 1
15
- export const VSN_2 = 2
16
-
17
- // # TRANSACTION DEFAULT TTL
18
- export const TX_TTL = 0
19
- // # ORACLE
20
- export const QUERY_FEE = 30000
21
- export const ORACLE_TTL = { type: 'delta', value: 500 }
22
- export const QUERY_TTL = { type: 'delta', value: 10 }
23
- export const RESPONSE_TTL = { type: 'delta', value: 10 }
24
- // # CONTRACT
25
- export const AMOUNT = 0
26
- export const GAS_MAX = 1600000 - 21000
27
- export const MIN_GAS_PRICE = 1e9
28
- export const MAX_AUTH_FUN_GAS = 50000
29
- export const DRY_RUN_ACCOUNT = { pub: 'ak_11111111111111111111111111111111273Yts', amount: '100000000000000000000000000000000000' }
30
-
31
- // # OBJECT tags
32
- // # see https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization
33
- const OBJECT_TAG_ACCOUNT = 10
34
- export const OBJECT_TAG_SIGNED_TRANSACTION = 11
35
- const OBJECT_TAG_SPEND_TRANSACTION = 12
36
- const OBJECT_TAG_ORACLE_REGISTER_TRANSACTION = 22
37
- const OBJECT_TAG_ORACLE_QUERY_TRANSACTION = 23
38
- const OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION = 24
39
- const OBJECT_TAG_ORACLE_EXTEND_TRANSACTION = 25
40
- const OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION = 32
41
- const OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION = 33
42
- const OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION = 34
43
- const OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION = 35
44
- const OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION = 36
45
- const OBJECT_TAG_CONTRACT = 40
46
- const OBJECT_TAG_CONTRACT_CALL = 41
47
- const OBJECT_TAG_CONTRACT_CREATE_TRANSACTION = 42
48
- const OBJECT_TAG_CONTRACT_CALL_TRANSACTION = 43
49
- const OBJECT_TAG_CHANNEL_CREATE_TX = 50
50
- const OBJECT_TAG_CHANNEL_DEPOSIT_TX = 51
51
- const OBJECT_TAG_CHANNEL_WITHRAW_TX = 52
52
- const OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX = 53
53
- const OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX = 54
54
- const OBJECT_TAG_CHANNEL_SLASH_TX = 55
55
- const OBJECT_TAG_CHANNEL_SETTLE_TX = 56
56
- const OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX = 521
57
- const OBJECT_TAG_CHANNEL_OFFCHAIN_TX = 57
58
- const OBJECT_TAG_CHANNEL = 58
59
- const OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX = 59
60
- const OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = 570
61
- const OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = 571
62
- const OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = 572
63
- const OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = 573
64
- const OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = 574
65
- const OBJECT_TAG_CHANNEL_RECONNECT_TX = 575
66
- const OBJECT_TAG_PROOF_OF_INCLUSION = 60
67
- const OBJECT_TAG_STATE_TREES = 62
68
- const OBJECT_TAG_MERKLE_PATRICIA_TREE = 63
69
- const OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE = 64
70
- const OBJECT_TAG_CONTRACTS_TREE = 621
71
- const OBJECT_TAG_CONTRACT_CALLS_TREE = 622
72
- const OBJECT_TAG_CHANNELS_TREE = 623
73
- const OBJECT_TAG_NAMESERVICE_TREE = 624
74
- const OBJECT_TAG_ORACLES_TREE = 625
75
- const OBJECT_TAG_ACCOUNTS_TREE = 626
76
- const OBJECT_TAG_GA_ATTACH = 80
77
- const OBJECT_TAG_GA_META = 81
78
- const OBJECT_TAG_PAYING_FOR = 82
79
- const OBJECT_TAG_SOPHIA_BYTE_CODE = 70
80
-
81
- const TX_FIELD = (name, type, prefix) => [name, type, prefix]
82
- const TX_SCHEMA_FIELD = (schema, objectId) => [schema, objectId]
83
-
84
- /**
85
- * @constant
86
- * @description Object with transaction types
87
- * @alias module:@aeternity/aepp-sdk/es/tx/builder/schema
88
- * @property {String} signed
89
- * @property {String} spend
90
- * @property {String} nameClaim
91
- * @property {String} namePreClaim
92
- * @property {String} nameUpdate
93
- * @property {String} nameRevoke
94
- * @property {String} nameTransfer
95
- * @property {String} contractCreate
96
- * @property {String} contractCall
97
- * @property {String} oracleRegister
98
- * @property {String} oracleExtend
99
- * @property {String} oracleQuery
100
- * @property {String} oracleResponse
101
- */
102
- export const TX_TYPE = {
103
- account: 'account',
104
- signed: 'signedTx',
105
- spend: 'spendTx',
106
- // AENS
107
- nameClaim: 'nameClaimTx',
108
- namePreClaim: 'namePreClaimTx',
109
- nameUpdate: 'nameUpdateTx',
110
- nameRevoke: 'nameRevokeTx',
111
- nameTransfer: 'nameTransfer',
112
- // CONTRACT
113
- contract: 'contract',
114
- contractCreate: 'contractCreateTx',
115
- contractCall: 'contractCallTx',
116
- contractCallResult: 'contractCallResult',
117
- // ORACLE
118
- oracleRegister: 'oracleRegister',
119
- oracleExtend: 'oracleExtend',
120
- oracleQuery: 'oracleQuery',
121
- oracleResponse: 'oracleResponse',
122
- // STATE CHANNEL
123
- channelCreate: 'channelCreate',
124
- channelCloseMutual: 'channelCloseMutual',
125
- channelCloseSolo: 'channelCloseSolo',
126
- channelSlash: 'channelSlash',
127
- channelDeposit: 'channelDeposit',
128
- channelWithdraw: 'channelWithdraw',
129
- channelSettle: 'channelSettle',
130
- channelOffChain: 'channelOffChain',
131
- channelForceProgress: 'channelForceProgress',
132
- channel: 'channel',
133
- channelSnapshotSolo: 'channelSnapshotSolo',
134
- channelOffChainUpdateTransfer: 'channelOffChainUpdateTransfer',
135
- channelOffChainUpdateDeposit: 'channelOffChainUpdateDeposit',
136
- channelOffChainUpdateWithdrawal: 'channelOffChainUpdateWithdrawal',
137
- channelOffChainCreateContract: 'channelOffChainCreateContract',
138
- channelOffChainCallContract: 'channelOffChainCallContract',
139
- channelReconnect: 'channelReconnect',
140
- proofOfInclusion: 'proofOfInclusion',
141
- stateTrees: 'stateTrees',
142
- merklePatriciaTree: 'merklePatriciaTree',
143
- merklePatriciaTreeValue: 'merklePatriciaTreeValue',
144
- contractsTree: 'contractsTree',
145
- contractCallsTree: 'contractCallsTree',
146
- channelsTree: 'channelsTree',
147
- nameserviceTree: 'nameserviceTree',
148
- oraclesTree: 'oraclesTree',
149
- accountsTree: 'accountsTree',
150
- gaAttach: 'gaAttach',
151
- gaMeta: 'gaMeta',
152
- payingFor: 'payingFor',
153
- sophiaByteCode: 'sophiaByteCode'
154
- }
155
-
156
- // # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain
157
- export const VM_VERSIONS = {
158
- NO_VM: 0,
159
- SOPHIA: 1,
160
- SOPHIA_IMPROVEMENTS_MINERVA: 3,
161
- SOPHIA_IMPROVEMENTS_FORTUNA: 4,
162
- FATE: 5,
163
- SOPHIA_IMPROVEMENTS_LIMA: 6,
164
- FATE_2: 7
165
- }
166
- // # see https://github.com/aeternity/protocol/blob/minerva/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain
167
- export const ABI_VERSIONS = {
168
- NO_ABI: 0,
169
- SOPHIA: 1,
170
- FATE: 3
171
- }
172
-
173
- export const PROTOCOL_VERSIONS = {
174
- IRIS: 5
175
- }
176
-
177
- // First abi/vm by default
178
- export const PROTOCOL_VM_ABI = {
179
- [PROTOCOL_VERSIONS.IRIS]: {
180
- [TX_TYPE.contractCreate]: {
181
- vmVersion: [VM_VERSIONS.FATE_2], abiVersion: [ABI_VERSIONS.FATE]
182
- },
183
- // TODO: Ensure that AEVM is still available here
184
- [TX_TYPE.contractCall]: {
185
- vmVersion: [
186
- VM_VERSIONS.FATE_2,
187
- VM_VERSIONS.FATE,
188
- VM_VERSIONS.SOPHIA_IMPROVEMENTS_LIMA,
189
- VM_VERSIONS.SOPHIA_IMPROVEMENTS_FORTUNA,
190
- VM_VERSIONS.SOPHIA,
191
- VM_VERSIONS.SOPHIA_IMPROVEMENTS_MINERVA
192
- ],
193
- abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]
194
- },
195
- [TX_TYPE.oracleRegister]: {
196
- vmVersion: [], abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]
197
- }
198
- }
199
- }
200
-
201
- export const OBJECT_ID_TX_TYPE = {
202
- [OBJECT_TAG_ACCOUNT]: TX_TYPE.account,
203
- [OBJECT_TAG_SIGNED_TRANSACTION]: TX_TYPE.signed,
204
- [OBJECT_TAG_SPEND_TRANSACTION]: TX_TYPE.spend,
205
- // AENS
206
- [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: TX_TYPE.nameClaim,
207
- [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: TX_TYPE.namePreClaim,
208
- [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: TX_TYPE.nameUpdate,
209
- [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: TX_TYPE.nameRevoke,
210
- [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: TX_TYPE.nameTransfer,
211
- // CONTRACT
212
- [OBJECT_TAG_CONTRACT]: TX_TYPE.contract,
213
- [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: TX_TYPE.contractCreate,
214
- [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: TX_TYPE.contractCall,
215
- [OBJECT_TAG_CONTRACT_CALL]: TX_TYPE.contractCallResult,
216
- // ORACLE
217
- [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: TX_TYPE.oracleRegister,
218
- [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: TX_TYPE.oracleExtend,
219
- [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: TX_TYPE.oracleQuery,
220
- [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: TX_TYPE.oracleResponse,
221
- // STATE CHANNEL
222
- [OBJECT_TAG_CHANNEL_CREATE_TX]: TX_TYPE.channelCreate,
223
- [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: TX_TYPE.channelCloseMutual,
224
- [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: TX_TYPE.channelCloseSolo,
225
- [OBJECT_TAG_CHANNEL_SLASH_TX]: TX_TYPE.channelSlash,
226
- [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: TX_TYPE.channelForceProgress,
227
- [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: TX_TYPE.channelDeposit,
228
- [OBJECT_TAG_CHANNEL_WITHRAW_TX]: TX_TYPE.channelWithdraw,
229
- [OBJECT_TAG_CHANNEL_SETTLE_TX]: TX_TYPE.channelSettle,
230
- [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: TX_TYPE.channelOffChain,
231
- [OBJECT_TAG_CHANNEL]: TX_TYPE.channel,
232
- [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: TX_TYPE.channelSnapshotSolo,
233
- [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: TX_TYPE.channelOffChainUpdateTransfer,
234
- [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: TX_TYPE.channelOffChainUpdateDeposit,
235
- [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: TX_TYPE.channelOffChainUpdateWithdrawal,
236
- [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: TX_TYPE.channelOffChainCreateContract,
237
- [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: TX_TYPE.channelOffChainCallContract,
238
- [OBJECT_TAG_CHANNEL_RECONNECT_TX]: TX_TYPE.channelReconnect,
239
- [OBJECT_TAG_PROOF_OF_INCLUSION]: TX_TYPE.proofOfInclusion,
240
- [OBJECT_TAG_STATE_TREES]: TX_TYPE.stateTrees,
241
- [OBJECT_TAG_MERKLE_PATRICIA_TREE]: TX_TYPE.merklePatriciaTree,
242
- [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: TX_TYPE.merklePatriciaTreeValue,
243
- [OBJECT_TAG_CONTRACTS_TREE]: TX_TYPE.contractsTree,
244
- [OBJECT_TAG_CONTRACT_CALLS_TREE]: TX_TYPE.contractCallsTree,
245
- [OBJECT_TAG_CHANNELS_TREE]: TX_TYPE.channelsTree,
246
- [OBJECT_TAG_NAMESERVICE_TREE]: TX_TYPE.nameserviceTree,
247
- [OBJECT_TAG_ORACLES_TREE]: TX_TYPE.oraclesTree,
248
- [OBJECT_TAG_ACCOUNTS_TREE]: TX_TYPE.accountsTree,
249
- [OBJECT_TAG_GA_ATTACH]: TX_TYPE.gaAttach,
250
- [OBJECT_TAG_GA_META]: TX_TYPE.gaMeta,
251
- [OBJECT_TAG_PAYING_FOR]: TX_TYPE.payingFor,
252
- [OBJECT_TAG_SOPHIA_BYTE_CODE]: TX_TYPE.sophiaByteCode
253
- }
254
-
255
- export const FIELD_TYPES = {
256
- int: 'int',
257
- amount: 'amount',
258
- id: 'id',
259
- ids: 'ids',
260
- string: 'string',
261
- binary: 'binary',
262
- rlpBinary: 'rlpBinary',
263
- rlpBinaries: 'rlpBinaries',
264
- rawBinary: 'rawBinary',
265
- bool: 'bool',
266
- hex: 'hex',
267
- signatures: 'signatures',
268
- pointers: 'pointers',
269
- offChainUpdates: 'offChainUpdates',
270
- callStack: 'callStack',
271
- proofOfInclusion: 'proofOfInclusion',
272
- mptrees: 'mptrees',
273
- callReturnType: 'callReturnType',
274
- ctVersion: 'ctVersion',
275
- sophiaCodeTypeInfo: 'sophiaCodeTypeInfo',
276
- payload: 'payload',
277
- any: 'any',
278
- stateTree: 'stateTree'
279
- }
280
-
281
- // FEE CALCULATION
282
- export const BASE_GAS = 15000
283
- export const GAS_PER_BYTE = 20
284
- export const DEFAULT_FEE = 20000
285
- export const KEY_BLOCK_INTERVAL = 3
286
-
287
- // MAP WITH FEE CALCULATION https://github.com/aeternity/protocol/blob/master/consensus/consensus.md#gas
288
- export const TX_FEE_BASE_GAS = (txType) => {
289
- const factor = ({
290
- [TX_TYPE.channelForceProgress]: 30,
291
- [TX_TYPE.channelOffChain]: 0,
292
- [TX_TYPE.channelOffChainCallContract]: 0,
293
- [TX_TYPE.channelOffChainCreateContract]: 0,
294
- [TX_TYPE.channelOffChainUpdateDeposit]: 0,
295
- [TX_TYPE.channelOffChainUpdateWithdrawal]: 0,
296
- [TX_TYPE.channelOffChainUpdateTransfer]: 0,
297
- [TX_TYPE.contractCreate]: 5,
298
- [TX_TYPE.contractCall]: 12,
299
- [TX_TYPE.gaAttach]: 5,
300
- [TX_TYPE.gaMeta]: 5,
301
- [TX_TYPE.payingFor]: 1 / 5
302
- })[txType] || 1
303
- return new BigNumber(factor * BASE_GAS)
304
- }
305
-
306
- export const TX_FEE_OTHER_GAS = (txType, txSize, { relativeTtl, innerTxSize }) => {
307
- switch (txType) {
308
- case TX_TYPE.oracleRegister:
309
- case TX_TYPE.oracleExtend:
310
- case TX_TYPE.oracleQuery:
311
- case TX_TYPE.oracleResponse:
312
- return new BigNumber(txSize)
313
- .times(GAS_PER_BYTE)
314
- .plus(
315
- Math.ceil(32000 * relativeTtl / Math.floor(60 * 24 * 365 / KEY_BLOCK_INTERVAL))
316
- )
317
- case TX_TYPE.gaMeta:
318
- case TX_TYPE.payingFor:
319
- return new BigNumber(txSize).minus(innerTxSize).times(GAS_PER_BYTE)
320
- default:
321
- return new BigNumber(txSize).times(GAS_PER_BYTE)
322
- }
323
- }
324
-
325
- const BASE_TX = [
326
- TX_FIELD('tag', FIELD_TYPES.int),
327
- TX_FIELD('VSN', FIELD_TYPES.int)
328
- ]
329
-
330
- export const CONTRACT_BYTE_CODE_LIMA = [
331
- ...BASE_TX,
332
- TX_FIELD('sourceCodeHash', FIELD_TYPES.rawBinary),
333
- TX_FIELD('typeInfo', FIELD_TYPES.sophiaCodeTypeInfo),
334
- TX_FIELD('byteCode', FIELD_TYPES.rawBinary),
335
- TX_FIELD('compilerVersion', FIELD_TYPES.string),
336
- TX_FIELD('payable', FIELD_TYPES.bool)
337
- ]
338
-
339
- const ACCOUNT_TX_2 = [
340
- ...BASE_TX,
341
- TX_FIELD('flags', FIELD_TYPES.int),
342
- TX_FIELD('nonce', FIELD_TYPES.int),
343
- TX_FIELD('balance', FIELD_TYPES.int),
344
- TX_FIELD('gaContract', FIELD_TYPES.id, ['ct', 'nm']),
345
- TX_FIELD('gaAuthFun', FIELD_TYPES.binary, 'cb')
346
- ]
347
-
348
- const SPEND_TX = [
349
- ...BASE_TX,
350
- TX_FIELD('senderId', FIELD_TYPES.id, 'ak'),
351
- TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']),
352
- TX_FIELD('amount', FIELD_TYPES.amount),
353
- TX_FIELD('fee', FIELD_TYPES.int),
354
- TX_FIELD('ttl', FIELD_TYPES.int),
355
- TX_FIELD('nonce', FIELD_TYPES.int),
356
- TX_FIELD('payload', FIELD_TYPES.payload)
357
- ]
358
-
359
- const SIGNED_TX = [
360
- ...BASE_TX,
361
- TX_FIELD('signatures', FIELD_TYPES.signatures),
362
- TX_FIELD('encodedTx', FIELD_TYPES.rlpBinary)
363
- ]
364
-
365
- const NAME_PRE_CLAIM_TX = [
366
- ...BASE_TX,
367
- TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),
368
- TX_FIELD('nonce', FIELD_TYPES.int),
369
- TX_FIELD('commitmentId', FIELD_TYPES.id, 'cm'),
370
- TX_FIELD('fee', FIELD_TYPES.int),
371
- TX_FIELD('ttl', FIELD_TYPES.int)
372
- ]
373
-
374
- const NAME_CLAIM_TX_2 = [
375
- ...BASE_TX,
376
- TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),
377
- TX_FIELD('nonce', FIELD_TYPES.int),
378
- TX_FIELD('name', Name),
379
- TX_FIELD('nameSalt', FIELD_TYPES.int),
380
- TX_FIELD('nameFee', NameFee),
381
- TX_FIELD('fee', FIELD_TYPES.int),
382
- TX_FIELD('ttl', FIELD_TYPES.int)
383
- ]
384
-
385
- const NAME_UPDATE_TX = [
386
- ...BASE_TX,
387
- TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),
388
- TX_FIELD('nonce', FIELD_TYPES.int),
389
- TX_FIELD('nameId', NameId),
390
- TX_FIELD('nameTtl', FIELD_TYPES.int),
391
- TX_FIELD('pointers', FIELD_TYPES.pointers),
392
- TX_FIELD('clientTtl', FIELD_TYPES.int),
393
- TX_FIELD('fee', FIELD_TYPES.int),
394
- TX_FIELD('ttl', FIELD_TYPES.int)
395
- ]
396
-
397
- const NAME_TRANSFER_TX = [
398
- ...BASE_TX,
399
- TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),
400
- TX_FIELD('nonce', FIELD_TYPES.int),
401
- TX_FIELD('nameId', NameId),
402
- TX_FIELD('recipientId', FIELD_TYPES.id, ['ak', 'nm']),
403
- TX_FIELD('fee', FIELD_TYPES.int),
404
- TX_FIELD('ttl', FIELD_TYPES.int)
405
- ]
406
-
407
- const NAME_REVOKE_TX = [
408
- ...BASE_TX,
409
- TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),
410
- TX_FIELD('nonce', FIELD_TYPES.int),
411
- TX_FIELD('nameId', NameId),
412
- TX_FIELD('fee', FIELD_TYPES.int),
413
- TX_FIELD('ttl', FIELD_TYPES.int)
414
- ]
415
-
416
- const CONTRACT_TX = [
417
- ...BASE_TX,
418
- TX_FIELD('owner', FIELD_TYPES.id, 'ak'),
419
- TX_FIELD('ctVersion', FIELD_TYPES.int),
420
- TX_FIELD('code', FIELD_TYPES.binary, 'cb'),
421
- TX_FIELD('log', FIELD_TYPES.binary, 'cb'),
422
- TX_FIELD('active', FIELD_TYPES.bool),
423
- TX_FIELD('referers', FIELD_TYPES.ids, 'ak'),
424
- TX_FIELD('deposit', Deposit)
425
- ]
426
-
427
- const GA_ATTACH_TX = [
428
- ...BASE_TX,
429
- TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'),
430
- TX_FIELD('nonce', FIELD_TYPES.int),
431
- TX_FIELD('code', FIELD_TYPES.binary, 'cb'),
432
- TX_FIELD('authFun', FIELD_TYPES.rawBinary),
433
- TX_FIELD('ctVersion', FIELD_TYPES.ctVersion),
434
- TX_FIELD('fee', FIELD_TYPES.int),
435
- TX_FIELD('ttl', FIELD_TYPES.int),
436
- TX_FIELD('gas', FIELD_TYPES.int),
437
- TX_FIELD('gasPrice', FIELD_TYPES.int),
438
- TX_FIELD('callData', FIELD_TYPES.binary, 'cb')
439
- ]
440
-
441
- const GA_META_TX_2 = [
442
- ...BASE_TX,
443
- TX_FIELD('gaId', FIELD_TYPES.id, 'ak'),
444
- TX_FIELD('authData', FIELD_TYPES.binary, 'cb'),
445
- TX_FIELD('abiVersion', FIELD_TYPES.int),
446
- TX_FIELD('fee', FIELD_TYPES.int),
447
- TX_FIELD('gas', FIELD_TYPES.int),
448
- TX_FIELD('gasPrice', FIELD_TYPES.int),
449
- TX_FIELD('tx', FIELD_TYPES.rlpBinary)
450
- ]
451
-
452
- const PAYING_FOR_TX = [
453
- ...BASE_TX,
454
- TX_FIELD('payerId', FIELD_TYPES.id, 'ak'),
455
- TX_FIELD('nonce', FIELD_TYPES.int),
456
- TX_FIELD('fee', FIELD_TYPES.int),
457
- TX_FIELD('tx', FIELD_TYPES.rlpBinary)
458
- ]
459
-
460
- const CONTRACT_CREATE_TX = [
461
- ...BASE_TX,
462
- TX_FIELD('ownerId', FIELD_TYPES.id, 'ak'),
463
- TX_FIELD('nonce', FIELD_TYPES.int),
464
- TX_FIELD('code', FIELD_TYPES.binary, 'cb'),
465
- TX_FIELD('ctVersion', FIELD_TYPES.ctVersion),
466
- TX_FIELD('fee', FIELD_TYPES.int),
467
- TX_FIELD('ttl', FIELD_TYPES.int),
468
- TX_FIELD('deposit', Deposit),
469
- TX_FIELD('amount', FIELD_TYPES.amount),
470
- TX_FIELD('gas', FIELD_TYPES.int),
471
- TX_FIELD('gasPrice', FIELD_TYPES.int),
472
- TX_FIELD('callData', FIELD_TYPES.binary, 'cb')
473
- ]
474
-
475
- const CONTRACT_CALL_TX = [
476
- ...BASE_TX,
477
- TX_FIELD('callerId', FIELD_TYPES.id, 'ak'),
478
- TX_FIELD('nonce', FIELD_TYPES.int),
479
- TX_FIELD('contractId', FIELD_TYPES.id, ['ct', 'nm']),
480
- TX_FIELD('abiVersion', FIELD_TYPES.int),
481
- TX_FIELD('fee', FIELD_TYPES.int),
482
- TX_FIELD('ttl', FIELD_TYPES.int),
483
- TX_FIELD('amount', FIELD_TYPES.amount),
484
- TX_FIELD('gas', FIELD_TYPES.int),
485
- TX_FIELD('gasPrice', FIELD_TYPES.int),
486
- TX_FIELD('callData', FIELD_TYPES.binary, 'cb')
487
- ]
488
-
489
- const CONTRACT_CALL_RESULT_TX = [
490
- ...BASE_TX,
491
- TX_FIELD('callerId', FIELD_TYPES.id, 'ak'),
492
- TX_FIELD('callerNonce', FIELD_TYPES.int),
493
- TX_FIELD('height', FIELD_TYPES.int),
494
- TX_FIELD('contractId', FIELD_TYPES.id, 'ct'),
495
- TX_FIELD('gasPrice', FIELD_TYPES.int),
496
- TX_FIELD('gasUsed', FIELD_TYPES.int),
497
- TX_FIELD('returnValue', FIELD_TYPES.binary, 'cb'),
498
- TX_FIELD('returnType', FIELD_TYPES.callReturnType),
499
- // TODO: add serialization for
500
- // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]
501
- TX_FIELD('log', FIELD_TYPES.rawBinary)
502
- ]
503
-
504
- const ORACLE_REGISTER_TX = [
505
- ...BASE_TX,
506
- TX_FIELD('accountId', FIELD_TYPES.id, 'ak'),
507
- TX_FIELD('nonce', FIELD_TYPES.int),
508
- TX_FIELD('queryFormat', FIELD_TYPES.string),
509
- TX_FIELD('responseFormat', FIELD_TYPES.string),
510
- TX_FIELD('queryFee', FIELD_TYPES.amount),
511
- TX_FIELD('oracleTtlType', FIELD_TYPES.int),
512
- TX_FIELD('oracleTtlValue', FIELD_TYPES.int),
513
- TX_FIELD('fee', FIELD_TYPES.int),
514
- TX_FIELD('ttl', FIELD_TYPES.int),
515
- TX_FIELD('abiVersion', FIELD_TYPES.int)
516
- ]
517
-
518
- const ORACLE_EXTEND_TX = [
519
- ...BASE_TX,
520
- TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']),
521
- TX_FIELD('nonce', FIELD_TYPES.int),
522
- TX_FIELD('oracleTtlType', FIELD_TYPES.int),
523
- TX_FIELD('oracleTtlValue', FIELD_TYPES.int),
524
- TX_FIELD('fee', FIELD_TYPES.int),
525
- TX_FIELD('ttl', FIELD_TYPES.int)
526
- ]
527
-
528
- const ORACLE_QUERY_TX = [
529
- ...BASE_TX,
530
- TX_FIELD('senderId', FIELD_TYPES.id, 'ak'),
531
- TX_FIELD('nonce', FIELD_TYPES.int),
532
- TX_FIELD('oracleId', FIELD_TYPES.id, ['ok', 'nm']),
533
- TX_FIELD('query', FIELD_TYPES.string),
534
- TX_FIELD('queryFee', FIELD_TYPES.amount),
535
- TX_FIELD('queryTtlType', FIELD_TYPES.int),
536
- TX_FIELD('queryTtlValue', FIELD_TYPES.int),
537
- TX_FIELD('responseTtlType', FIELD_TYPES.int),
538
- TX_FIELD('responseTtlValue', FIELD_TYPES.int),
539
- TX_FIELD('fee', FIELD_TYPES.int),
540
- TX_FIELD('ttl', FIELD_TYPES.int)
541
- ]
542
- const ORACLE_RESPOND_TX = [
543
- ...BASE_TX,
544
- TX_FIELD('oracleId', FIELD_TYPES.id, 'ok'),
545
- TX_FIELD('nonce', FIELD_TYPES.int),
546
- TX_FIELD('queryId', FIELD_TYPES.binary, 'oq'),
547
- TX_FIELD('response', FIELD_TYPES.string),
548
- TX_FIELD('responseTtlType', FIELD_TYPES.int),
549
- TX_FIELD('responseTtlValue', FIELD_TYPES.int),
550
- TX_FIELD('fee', FIELD_TYPES.int),
551
- TX_FIELD('ttl', FIELD_TYPES.int)
552
- ]
553
-
554
- const CHANNEL_CREATE_TX_2 = [
555
- ...BASE_TX,
556
- TX_FIELD('initiator', FIELD_TYPES.id, 'ak'),
557
- TX_FIELD('initiatorAmount', FIELD_TYPES.int),
558
- TX_FIELD('responder', FIELD_TYPES.id, 'ak'),
559
- TX_FIELD('responderAmount', FIELD_TYPES.int),
560
- TX_FIELD('channelReserve', FIELD_TYPES.int),
561
- TX_FIELD('lockPeriod', FIELD_TYPES.int),
562
- TX_FIELD('ttl', FIELD_TYPES.int),
563
- TX_FIELD('fee', FIELD_TYPES.int),
564
- TX_FIELD('initiatorDelegateIds', FIELD_TYPES.string),
565
- TX_FIELD('responderDelegateIds', FIELD_TYPES.string),
566
- TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),
567
- TX_FIELD('nonce', FIELD_TYPES.int)
568
- ]
569
-
570
- const CHANNEL_DEPOSIT_TX = [
571
- ...BASE_TX,
572
- TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),
573
- TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),
574
- TX_FIELD('amount', FIELD_TYPES.int),
575
- TX_FIELD('ttl', FIELD_TYPES.int),
576
- TX_FIELD('fee', FIELD_TYPES.int),
577
- TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),
578
- TX_FIELD('round', FIELD_TYPES.int),
579
- TX_FIELD('nonce', FIELD_TYPES.int)
580
- ]
581
-
582
- const CHANNEL_WITHDRAW_TX = [
583
- ...BASE_TX,
584
- TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),
585
- TX_FIELD('toId', FIELD_TYPES.id, 'ak'),
586
- TX_FIELD('amount', FIELD_TYPES.int),
587
- TX_FIELD('ttl', FIELD_TYPES.int),
588
- TX_FIELD('fee', FIELD_TYPES.int),
589
- TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),
590
- TX_FIELD('round', FIELD_TYPES.int),
591
- TX_FIELD('nonce', FIELD_TYPES.int)
592
- ]
593
-
594
- const CHANNEL_CLOSE_MUTUAL_TX = [
595
- ...BASE_TX,
596
- TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),
597
- TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),
598
- TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int),
599
- TX_FIELD('responderAmountFinal', FIELD_TYPES.int),
600
- TX_FIELD('ttl', FIELD_TYPES.int),
601
- TX_FIELD('fee', FIELD_TYPES.int),
602
- TX_FIELD('nonce', FIELD_TYPES.int)
603
- ]
604
-
605
- const CHANNEL_CLOSE_SOLO_TX = [
606
- ...BASE_TX,
607
- TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),
608
- TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),
609
- TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),
610
- TX_FIELD('poi', FIELD_TYPES.binary, 'pi'),
611
- TX_FIELD('ttl', FIELD_TYPES.int),
612
- TX_FIELD('fee', FIELD_TYPES.int),
613
- TX_FIELD('nonce', FIELD_TYPES.int)
614
- ]
615
-
616
- const CHANNEL_SLASH_TX = [
617
- ...BASE_TX,
618
- TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),
619
- TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),
620
- TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),
621
- TX_FIELD('poi', FIELD_TYPES.binary, 'pi'),
622
- TX_FIELD('ttl', FIELD_TYPES.int),
623
- TX_FIELD('fee', FIELD_TYPES.int),
624
- TX_FIELD('nonce', FIELD_TYPES.int)
625
- ]
626
-
627
- const CHANNEL_SETTLE_TX = [
628
- ...BASE_TX,
629
- TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),
630
- TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),
631
- TX_FIELD('initiatorAmountFinal', FIELD_TYPES.int),
632
- TX_FIELD('responderAmountFinal', FIELD_TYPES.int),
633
- TX_FIELD('ttl', FIELD_TYPES.int),
634
- TX_FIELD('fee', FIELD_TYPES.int),
635
- TX_FIELD('nonce', FIELD_TYPES.int)
636
- ]
637
-
638
- const CHANNEL_FORCE_PROGRESS_TX = [
639
- ...BASE_TX,
640
- TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),
641
- TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),
642
- TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),
643
- TX_FIELD('round', FIELD_TYPES.int),
644
- TX_FIELD('update', FIELD_TYPES.binary, 'cb'),
645
- TX_FIELD('stateHash', FIELD_TYPES.binary, 'st'),
646
- TX_FIELD('offChainTrees', FIELD_TYPES.stateTree),
647
- TX_FIELD('ttl', FIELD_TYPES.int),
648
- TX_FIELD('fee', FIELD_TYPES.int),
649
- TX_FIELD('nonce', FIELD_TYPES.int)
650
- ]
651
-
652
- const CHANNEL_OFFCHAIN_TX_2 = [
653
- ...BASE_TX,
654
- TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),
655
- TX_FIELD('round', FIELD_TYPES.int),
656
- TX_FIELD('stateHash', FIELD_TYPES.binary, 'st')
657
- ]
658
-
659
- const CHANNEL_TX_3 = [
660
- ...BASE_TX,
661
- TX_FIELD('initiator', FIELD_TYPES.id, 'ak'),
662
- TX_FIELD('responder', FIELD_TYPES.id, 'ak'),
663
- TX_FIELD('channelAmount', FIELD_TYPES.int),
664
- TX_FIELD('initiatorAmount', FIELD_TYPES.int),
665
- TX_FIELD('responderAmount', FIELD_TYPES.int),
666
- TX_FIELD('channelReserve', FIELD_TYPES.int),
667
- TX_FIELD('initiatorDelegateIds', FIELD_TYPES.ids),
668
- TX_FIELD('responderDelegateIds', FIELD_TYPES.ids),
669
- TX_FIELD('stateHash', FIELD_TYPES.hex),
670
- TX_FIELD('round', FIELD_TYPES.int),
671
- TX_FIELD('soloRound', FIELD_TYPES.int),
672
- TX_FIELD('lockPeriod', FIELD_TYPES.int),
673
- TX_FIELD('lockedUntil', FIELD_TYPES.int),
674
- TX_FIELD('initiatorAuth', FIELD_TYPES.binary, 'cb'),
675
- TX_FIELD('responderAuth', FIELD_TYPES.binary, 'cb')
676
- ]
677
-
678
- const CHANNEL_SNAPSHOT_SOLO_TX = [
679
- ...BASE_TX,
680
- TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),
681
- TX_FIELD('fromId', FIELD_TYPES.id, 'ak'),
682
- TX_FIELD('payload', FIELD_TYPES.binary, 'tx'),
683
- TX_FIELD('ttl', FIELD_TYPES.int),
684
- TX_FIELD('fee', FIELD_TYPES.int),
685
- TX_FIELD('nonce', FIELD_TYPES.int)
686
- ]
687
-
688
- const CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX = [
689
- ...BASE_TX,
690
- TX_FIELD('owner', FIELD_TYPES.id, 'ak'),
691
- TX_FIELD('ctVersion', FIELD_TYPES.int),
692
- TX_FIELD('code', FIELD_TYPES.binary, 'cb'),
693
- TX_FIELD('deposit', FIELD_TYPES.int),
694
- TX_FIELD('callData', FIELD_TYPES.binary, 'cb')
695
- ]
696
-
697
- const CHANNEL_OFFCHAIN_CALL_CONTRACT_TX = [
698
- ...BASE_TX,
699
- TX_FIELD('caller', FIELD_TYPES.id, 'ak'),
700
- TX_FIELD('contract', FIELD_TYPES.id, 'ct'),
701
- TX_FIELD('abiVersion', FIELD_TYPES.int),
702
- TX_FIELD('amount', FIELD_TYPES.int),
703
- TX_FIELD('callData', FIELD_TYPES.binary, 'cb'),
704
- TX_FIELD('callStack', FIELD_TYPES.callStack),
705
- TX_FIELD('gasPrice', FIELD_TYPES.int),
706
- TX_FIELD('gasLimit', FIELD_TYPES.int)
707
- ]
708
-
709
- const CHANNEL_RECONNECT_TX = [
710
- ...BASE_TX,
711
- TX_FIELD('channelId', FIELD_TYPES.id, 'ch'),
712
- TX_FIELD('round', FIELD_TYPES.int),
713
- TX_FIELD('role', FIELD_TYPES.string),
714
- TX_FIELD('pubkey', FIELD_TYPES.id, 'ak')
715
- ]
716
-
717
- const CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX = [
718
- ...BASE_TX,
719
- TX_FIELD('from', FIELD_TYPES.id, 'ak'),
720
- TX_FIELD('to', FIELD_TYPES.id, 'ak'),
721
- TX_FIELD('amount', FIELD_TYPES.int)
722
- ]
723
-
724
- const CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX = [
725
- ...BASE_TX,
726
- TX_FIELD('from', FIELD_TYPES.id, 'ak'),
727
- TX_FIELD('amount', FIELD_TYPES.int)
728
- ]
729
-
730
- const CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX = [
731
- ...BASE_TX,
732
- TX_FIELD('from', FIELD_TYPES.id, 'ak'),
733
- TX_FIELD('amount', FIELD_TYPES.int)
734
- ]
735
-
736
- const PROOF_OF_INCLUSION_TX = [
737
- ...BASE_TX,
738
- TX_FIELD('accounts', FIELD_TYPES.mptrees),
739
- TX_FIELD('calls', FIELD_TYPES.mptrees),
740
- TX_FIELD('channels', FIELD_TYPES.mptrees),
741
- TX_FIELD('contracts', FIELD_TYPES.mptrees),
742
- TX_FIELD('ns', FIELD_TYPES.mptrees),
743
- TX_FIELD('oracles', FIELD_TYPES.mptrees)
744
- ]
745
-
746
- const STATE_TREES_TX = [
747
- ...BASE_TX,
748
- TX_FIELD('contracts', FIELD_TYPES.rlpBinary),
749
- TX_FIELD('calls', FIELD_TYPES.rlpBinary),
750
- TX_FIELD('channels', FIELD_TYPES.rlpBinary),
751
- TX_FIELD('ns', FIELD_TYPES.rlpBinary),
752
- TX_FIELD('oracles', FIELD_TYPES.rlpBinary),
753
- TX_FIELD('accounts', FIELD_TYPES.rlpBinary)
754
- ]
755
-
756
- const MERKLE_PATRICIA_TREE_TX = [
757
- ...BASE_TX,
758
- TX_FIELD('values', FIELD_TYPES.rlpBinaries)
759
- ]
760
-
761
- const MERKLE_PATRICIA_TREE_VALUE_TX = [
762
- ...BASE_TX,
763
- TX_FIELD('key', FIELD_TYPES.hex),
764
- TX_FIELD('value', FIELD_TYPES.rawBinary)
765
- ]
766
-
767
- const CONTRACTS_TREE_TX = [
768
- ...BASE_TX,
769
- TX_FIELD('contracts', FIELD_TYPES.rlpBinary)
770
- ]
771
-
772
- const CONTRACT_CALLS_TREE_TX = [
773
- ...BASE_TX,
774
- TX_FIELD('calls', FIELD_TYPES.rlpBinary)
775
- ]
776
-
777
- const CHANNELS_TREE_TX = [
778
- ...BASE_TX,
779
- TX_FIELD('channels', FIELD_TYPES.rlpBinary)
780
- ]
781
-
782
- const NAMESERVICE_TREE_TX = [
783
- ...BASE_TX,
784
- TX_FIELD('mtree', FIELD_TYPES.rlpBinary)
785
- ]
786
-
787
- const ORACLES_TREE_TX = [
788
- ...BASE_TX,
789
- TX_FIELD('otree', FIELD_TYPES.rlpBinary)
790
- ]
791
-
792
- const ACCOUNTS_TREE_TX = [
793
- ...BASE_TX,
794
- TX_FIELD('accounts', FIELD_TYPES.rlpBinary)
795
- ]
796
-
797
- export const TX_SERIALIZATION_SCHEMA = {
798
- [TX_TYPE.account]: {
799
- 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)
800
- },
801
- [TX_TYPE.signed]: {
802
- 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)
803
- },
804
- [TX_TYPE.spend]: {
805
- 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)
806
- },
807
- [TX_TYPE.namePreClaim]: {
808
- 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)
809
- },
810
- [TX_TYPE.nameClaim]: {
811
- 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)
812
- },
813
- [TX_TYPE.nameUpdate]: {
814
- 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)
815
- },
816
- [TX_TYPE.nameTransfer]: {
817
- 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)
818
- },
819
- [TX_TYPE.nameRevoke]: {
820
- 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)
821
- },
822
- [TX_TYPE.contract]: {
823
- 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)
824
- },
825
- [TX_TYPE.contractCreate]: {
826
- 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)
827
- },
828
- [TX_TYPE.contractCall]: {
829
- 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)
830
- },
831
- [TX_TYPE.contractCallResult]: {
832
- 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)
833
- },
834
- [TX_TYPE.oracleRegister]: {
835
- 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)
836
- },
837
- [TX_TYPE.oracleExtend]: {
838
- 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)
839
- },
840
- [TX_TYPE.oracleQuery]: {
841
- 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)
842
- },
843
- [TX_TYPE.oracleResponse]: {
844
- 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)
845
- },
846
- [TX_TYPE.channelCreate]: {
847
- 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)
848
- },
849
- [TX_TYPE.channelCloseMutual]: {
850
- 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)
851
- },
852
- [TX_TYPE.channelCloseSolo]: {
853
- 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)
854
- },
855
- [TX_TYPE.channelSlash]: {
856
- 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)
857
- },
858
- [TX_TYPE.channelDeposit]: {
859
- 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)
860
- },
861
- [TX_TYPE.channelWithdraw]: {
862
- 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)
863
- },
864
- [TX_TYPE.channelSettle]: {
865
- 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)
866
- },
867
- [TX_TYPE.channelForceProgress]: {
868
- 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)
869
- },
870
- [TX_TYPE.channelOffChain]: {
871
- 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)
872
- },
873
- [TX_TYPE.channel]: {
874
- 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)
875
- },
876
- [TX_TYPE.channelSnapshotSolo]: {
877
- 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)
878
- },
879
- [TX_TYPE.channelOffChainUpdateTransfer]: {
880
- 1: TX_SCHEMA_FIELD(
881
- CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX
882
- )
883
- },
884
- [TX_TYPE.channelOffChainUpdateDeposit]: {
885
- 1: TX_SCHEMA_FIELD(
886
- CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX
887
- )
888
- },
889
- [TX_TYPE.channelOffChainUpdateWithdrawal]: {
890
- 1: TX_SCHEMA_FIELD(
891
- CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX
892
- )
893
- },
894
- [TX_TYPE.channelOffChainCreateContract]: {
895
- 1: TX_SCHEMA_FIELD(
896
- CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX
897
- )
898
- },
899
- [TX_TYPE.channelOffChainCallContract]: {
900
- 1: TX_SCHEMA_FIELD(
901
- CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX
902
- )
903
- },
904
- [TX_TYPE.channelReconnect]: {
905
- 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)
906
- },
907
- [TX_TYPE.proofOfInclusion]: {
908
- 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)
909
- },
910
- [TX_TYPE.stateTrees]: {
911
- 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)
912
- },
913
- [TX_TYPE.merklePatriciaTree]: {
914
- 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)
915
- },
916
- [TX_TYPE.merklePatriciaTreeValue]: {
917
- 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)
918
- },
919
- [TX_TYPE.contractsTree]: {
920
- 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)
921
- },
922
- [TX_TYPE.contractCallsTree]: {
923
- 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)
924
- },
925
- [TX_TYPE.channelsTree]: {
926
- 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)
927
- },
928
- [TX_TYPE.nameserviceTree]: {
929
- 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)
930
- },
931
- [TX_TYPE.oraclesTree]: {
932
- 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)
933
- },
934
- [TX_TYPE.accountsTree]: {
935
- 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)
936
- },
937
- [TX_TYPE.gaAttach]: {
938
- 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)
939
- },
940
- [TX_TYPE.gaMeta]: {
941
- 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)
942
- },
943
- [TX_TYPE.payingFor]: {
944
- 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)
945
- }
946
- }
947
-
948
- export const TX_DESERIALIZATION_SCHEMA = {
949
- [OBJECT_TAG_ACCOUNT]: {
950
- 2: TX_SCHEMA_FIELD(ACCOUNT_TX_2, OBJECT_TAG_ACCOUNT)
951
- },
952
- [OBJECT_TAG_SIGNED_TRANSACTION]: {
953
- 1: TX_SCHEMA_FIELD(SIGNED_TX, OBJECT_TAG_SIGNED_TRANSACTION)
954
- },
955
- [OBJECT_TAG_SPEND_TRANSACTION]: {
956
- 1: TX_SCHEMA_FIELD(SPEND_TX, OBJECT_TAG_SPEND_TRANSACTION)
957
- },
958
- [OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION]: {
959
- 1: TX_SCHEMA_FIELD(NAME_PRE_CLAIM_TX, OBJECT_TAG_NAME_SERVICE_PRECLAIM_TRANSACTION)
960
- },
961
- [OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION]: {
962
- 2: TX_SCHEMA_FIELD(NAME_CLAIM_TX_2, OBJECT_TAG_NAME_SERVICE_CLAIM_TRANSACTION)
963
- },
964
- [OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION]: {
965
- 1: TX_SCHEMA_FIELD(NAME_UPDATE_TX, OBJECT_TAG_NAME_SERVICE_UPDATE_TRANSACTION)
966
- },
967
- [OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION]: {
968
- 1: TX_SCHEMA_FIELD(NAME_TRANSFER_TX, OBJECT_TAG_NAME_SERVICE_TRANSFER_TRANSACTION)
969
- },
970
- [OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION]: {
971
- 1: TX_SCHEMA_FIELD(NAME_REVOKE_TX, OBJECT_TAG_NAME_SERVICE_REVOKE_TRANSACTION)
972
- },
973
- [OBJECT_TAG_CONTRACT]: {
974
- 1: TX_SCHEMA_FIELD(CONTRACT_TX, OBJECT_TAG_CONTRACT)
975
- },
976
- [OBJECT_TAG_CONTRACT_CREATE_TRANSACTION]: {
977
- 1: TX_SCHEMA_FIELD(CONTRACT_CREATE_TX, OBJECT_TAG_CONTRACT_CREATE_TRANSACTION)
978
- },
979
- [OBJECT_TAG_CONTRACT_CALL_TRANSACTION]: {
980
- 1: TX_SCHEMA_FIELD(CONTRACT_CALL_TX, OBJECT_TAG_CONTRACT_CALL_TRANSACTION)
981
- },
982
- [OBJECT_TAG_CONTRACT_CALL]: {
983
- 1: TX_SCHEMA_FIELD(CONTRACT_CALL_RESULT_TX, OBJECT_TAG_CONTRACT_CALL)
984
- },
985
- [OBJECT_TAG_ORACLE_REGISTER_TRANSACTION]: {
986
- 1: TX_SCHEMA_FIELD(ORACLE_REGISTER_TX, OBJECT_TAG_ORACLE_REGISTER_TRANSACTION)
987
- },
988
- [OBJECT_TAG_ORACLE_EXTEND_TRANSACTION]: {
989
- 1: TX_SCHEMA_FIELD(ORACLE_EXTEND_TX, OBJECT_TAG_ORACLE_EXTEND_TRANSACTION)
990
- },
991
- [OBJECT_TAG_ORACLE_QUERY_TRANSACTION]: {
992
- 1: TX_SCHEMA_FIELD(ORACLE_QUERY_TX, OBJECT_TAG_ORACLE_QUERY_TRANSACTION)
993
- },
994
- [OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION]: {
995
- 1: TX_SCHEMA_FIELD(ORACLE_RESPOND_TX, OBJECT_TAG_ORACLE_RESPONSE_TRANSACTION)
996
- },
997
- [OBJECT_TAG_CHANNEL_CREATE_TX]: {
998
- 2: TX_SCHEMA_FIELD(CHANNEL_CREATE_TX_2, OBJECT_TAG_CHANNEL_CREATE_TX)
999
- },
1000
- [OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX]: {
1001
- 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_MUTUAL_TX, OBJECT_TAG_CHANNEL_CLOSE_MUTUAL_TX)
1002
- },
1003
- [OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX]: {
1004
- 1: TX_SCHEMA_FIELD(CHANNEL_CLOSE_SOLO_TX, OBJECT_TAG_CHANNEL_CLOSE_SOLO_TX)
1005
- },
1006
- [OBJECT_TAG_CHANNEL_SLASH_TX]: {
1007
- 1: TX_SCHEMA_FIELD(CHANNEL_SLASH_TX, OBJECT_TAG_CHANNEL_SLASH_TX)
1008
- },
1009
- [OBJECT_TAG_CHANNEL_DEPOSIT_TX]: {
1010
- 1: TX_SCHEMA_FIELD(CHANNEL_DEPOSIT_TX, OBJECT_TAG_CHANNEL_DEPOSIT_TX)
1011
- },
1012
- [OBJECT_TAG_CHANNEL_WITHRAW_TX]: {
1013
- 1: TX_SCHEMA_FIELD(CHANNEL_WITHDRAW_TX, OBJECT_TAG_CHANNEL_WITHRAW_TX)
1014
- },
1015
- [OBJECT_TAG_CHANNEL_SETTLE_TX]: {
1016
- 1: TX_SCHEMA_FIELD(CHANNEL_SETTLE_TX, OBJECT_TAG_CHANNEL_SETTLE_TX)
1017
- },
1018
- [OBJECT_TAG_CHANNEL_OFFCHAIN_TX]: {
1019
- 2: TX_SCHEMA_FIELD(CHANNEL_OFFCHAIN_TX_2, OBJECT_TAG_CHANNEL_OFFCHAIN_TX)
1020
- },
1021
- [OBJECT_TAG_CHANNEL]: {
1022
- 3: TX_SCHEMA_FIELD(CHANNEL_TX_3, OBJECT_TAG_CHANNEL)
1023
- },
1024
- [OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX]: {
1025
- 1: TX_SCHEMA_FIELD(CHANNEL_SNAPSHOT_SOLO_TX, OBJECT_TAG_CHANNEL_SNAPSHOT_SOLO_TX)
1026
- },
1027
- [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX]: {
1028
- 1: TX_SCHEMA_FIELD(
1029
- CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_TRANSFER_TX
1030
- )
1031
- },
1032
- [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX]: {
1033
- 1: TX_SCHEMA_FIELD(
1034
- CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_DEPOSIT_TX
1035
- )
1036
- },
1037
- [OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX]: {
1038
- 1: TX_SCHEMA_FIELD(
1039
- CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_UPDATE_WITHDRAWAL_TX
1040
- )
1041
- },
1042
- [OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX]: {
1043
- 1: TX_SCHEMA_FIELD(
1044
- CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CREATE_CONTRACT_TX
1045
- )
1046
- },
1047
- [OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX]: {
1048
- 1: TX_SCHEMA_FIELD(
1049
- CHANNEL_OFFCHAIN_CALL_CONTRACT_TX, OBJECT_TAG_CHANNEL_OFFCHAIN_CALL_CONTRACT_TX
1050
- )
1051
- },
1052
- [OBJECT_TAG_CHANNEL_RECONNECT_TX]: {
1053
- 1: TX_SCHEMA_FIELD(CHANNEL_RECONNECT_TX, OBJECT_TAG_CHANNEL_RECONNECT_TX)
1054
- },
1055
- [OBJECT_TAG_PROOF_OF_INCLUSION]: {
1056
- 1: TX_SCHEMA_FIELD(PROOF_OF_INCLUSION_TX, OBJECT_TAG_PROOF_OF_INCLUSION)
1057
- },
1058
- [OBJECT_TAG_STATE_TREES]: {
1059
- 1: TX_SCHEMA_FIELD(STATE_TREES_TX, OBJECT_TAG_STATE_TREES)
1060
- },
1061
- [OBJECT_TAG_MERKLE_PATRICIA_TREE]: {
1062
- 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE)
1063
- },
1064
- [OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE]: {
1065
- 1: TX_SCHEMA_FIELD(MERKLE_PATRICIA_TREE_VALUE_TX, OBJECT_TAG_MERKLE_PATRICIA_TREE_VALUE)
1066
- },
1067
- [OBJECT_TAG_CONTRACTS_TREE]: {
1068
- 1: TX_SCHEMA_FIELD(CONTRACTS_TREE_TX, OBJECT_TAG_CONTRACTS_TREE)
1069
- },
1070
- [OBJECT_TAG_CONTRACT_CALLS_TREE]: {
1071
- 1: TX_SCHEMA_FIELD(CONTRACT_CALLS_TREE_TX, OBJECT_TAG_CONTRACT_CALLS_TREE)
1072
- },
1073
- [OBJECT_TAG_CHANNELS_TREE]: {
1074
- 1: TX_SCHEMA_FIELD(CHANNELS_TREE_TX, OBJECT_TAG_CHANNELS_TREE)
1075
- },
1076
- [OBJECT_TAG_NAMESERVICE_TREE]: {
1077
- 1: TX_SCHEMA_FIELD(NAMESERVICE_TREE_TX, OBJECT_TAG_NAMESERVICE_TREE)
1078
- },
1079
- [OBJECT_TAG_ORACLES_TREE]: {
1080
- 1: TX_SCHEMA_FIELD(ORACLES_TREE_TX, OBJECT_TAG_ORACLES_TREE)
1081
- },
1082
- [OBJECT_TAG_ACCOUNTS_TREE]: {
1083
- 1: TX_SCHEMA_FIELD(ACCOUNTS_TREE_TX, OBJECT_TAG_ACCOUNTS_TREE)
1084
- },
1085
- [OBJECT_TAG_GA_ATTACH]: {
1086
- 1: TX_SCHEMA_FIELD(GA_ATTACH_TX, OBJECT_TAG_GA_ATTACH)
1087
- },
1088
- [OBJECT_TAG_GA_META]: {
1089
- 2: TX_SCHEMA_FIELD(GA_META_TX_2, OBJECT_TAG_GA_META)
1090
- },
1091
- [OBJECT_TAG_PAYING_FOR]: {
1092
- 1: TX_SCHEMA_FIELD(PAYING_FOR_TX, OBJECT_TAG_PAYING_FOR)
1093
- },
1094
- [OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX]: {
1095
- 1: TX_SCHEMA_FIELD(CHANNEL_FORCE_PROGRESS_TX, OBJECT_TAG_CHANNEL_FORCE_PROGRESS_TX)
1096
- },
1097
- [OBJECT_TAG_SOPHIA_BYTE_CODE]: {
1098
- 3: TX_SCHEMA_FIELD(CONTRACT_BYTE_CODE_LIMA, OBJECT_TAG_SOPHIA_BYTE_CODE)
1099
- }
1100
- }