@aeternity/aepp-sdk 12.1.3 → 13.0.0-alpha.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 (565) hide show
  1. package/bin/aesophia_cli +0 -0
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.map +1 -1
  4. package/dist/aepp-sdk.browser.js +1 -1
  5. package/dist/aepp-sdk.browser.js.map +1 -1
  6. package/dist/aepp-sdk.js +12031 -11231
  7. package/dist/aepp-sdk.js.map +1 -1
  8. package/es/AeSdk.d.ts +7 -3
  9. package/es/AeSdk.mjs +17 -22
  10. package/es/AeSdk.mjs.map +1 -1
  11. package/es/AeSdkAepp.d.ts +6 -5
  12. package/es/AeSdkAepp.mjs +7 -30
  13. package/es/AeSdkAepp.mjs.map +1 -1
  14. package/es/AeSdkBase.d.ts +18 -140
  15. package/es/AeSdkBase.mjs +30 -184
  16. package/es/AeSdkBase.mjs.map +1 -1
  17. package/es/AeSdkMethods.d.ts +123 -0
  18. package/es/AeSdkMethods.mjs +122 -0
  19. package/es/AeSdkMethods.mjs.map +1 -0
  20. package/es/AeSdkWallet.d.ts +7 -21
  21. package/es/AeSdkWallet.mjs +38 -86
  22. package/es/AeSdkWallet.mjs.map +1 -1
  23. package/es/Node.d.ts +11 -15
  24. package/es/Node.mjs +35 -48
  25. package/es/Node.mjs.map +1 -1
  26. package/es/account/Base.d.ts +24 -40
  27. package/es/account/Base.mjs +1 -101
  28. package/es/account/Base.mjs.map +1 -1
  29. package/es/account/Generalized.d.ts +16 -0
  30. package/es/account/Generalized.mjs +113 -0
  31. package/es/account/Generalized.mjs.map +1 -0
  32. package/es/account/Ledger.d.ts +28 -0
  33. package/es/account/Ledger.mjs +102 -0
  34. package/es/account/Ledger.mjs.map +1 -0
  35. package/es/account/LedgerFactory.d.ts +39 -0
  36. package/es/account/LedgerFactory.mjs +81 -0
  37. package/es/account/LedgerFactory.mjs.map +1 -0
  38. package/es/account/Memory.d.ts +13 -17
  39. package/es/account/Memory.mjs +43 -64
  40. package/es/account/Memory.mjs.map +1 -1
  41. package/es/account/Rpc.d.ts +6 -8
  42. package/es/account/Rpc.mjs +14 -32
  43. package/es/account/Rpc.mjs.map +1 -1
  44. package/es/aens.d.ts +4 -4
  45. package/es/aens.mjs +46 -41
  46. package/es/aens.mjs.map +1 -1
  47. package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
  48. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  49. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  50. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +22 -11
  51. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  52. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
  53. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
  54. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  55. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  56. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
  57. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -42
  58. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  59. package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
  60. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  61. package/es/aepp-wallet-communication/schema.mjs +14 -68
  62. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  63. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
  64. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  65. package/es/apis/compiler/compiler.d.ts +23 -29
  66. package/es/apis/compiler/compiler.mjs +128 -189
  67. package/es/apis/compiler/compiler.mjs.map +1 -1
  68. package/es/apis/compiler/index.mjs.map +1 -1
  69. package/es/apis/compiler/models/index.d.ts +82 -135
  70. package/es/apis/compiler/models/index.mjs +1 -47
  71. package/es/apis/compiler/models/index.mjs.map +1 -1
  72. package/es/apis/compiler/models/mappers.d.ts +8 -8
  73. package/es/apis/compiler/models/mappers.mjs +165 -183
  74. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  75. package/es/apis/compiler/models/parameters.d.ts +0 -1
  76. package/es/apis/compiler/models/parameters.mjs +5 -9
  77. package/es/apis/compiler/models/parameters.mjs.map +1 -1
  78. package/es/apis/node/index.mjs.map +1 -1
  79. package/es/apis/node/models/index.d.ts +48 -48
  80. package/es/apis/node/models/mappers.mjs +12 -6
  81. package/es/apis/node/models/mappers.mjs.map +1 -1
  82. package/es/apis/node/models/parameters.mjs.map +1 -1
  83. package/es/apis/node/node.mjs +43 -84
  84. package/es/apis/node/node.mjs.map +1 -1
  85. package/es/chain.d.ts +10 -2
  86. package/es/chain.mjs +37 -59
  87. package/es/chain.mjs.map +1 -1
  88. package/es/channel/Base.d.ts +200 -0
  89. package/es/channel/Base.mjs +293 -0
  90. package/es/channel/Base.mjs.map +1 -0
  91. package/es/channel/Contract.d.ts +248 -0
  92. package/es/channel/Contract.mjs +420 -0
  93. package/es/channel/Contract.mjs.map +1 -0
  94. package/es/channel/Spend.d.ts +219 -0
  95. package/es/channel/Spend.mjs +385 -0
  96. package/es/channel/Spend.mjs.map +1 -0
  97. package/es/channel/handlers.d.ts +8 -21
  98. package/es/channel/handlers.mjs +151 -899
  99. package/es/channel/handlers.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +27 -21
  101. package/es/channel/internal.mjs +101 -191
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Contract.d.ts +210 -0
  104. package/es/contract/Contract.mjs +551 -0
  105. package/es/contract/Contract.mjs.map +1 -0
  106. package/es/contract/compiler/Base.d.ts +81 -0
  107. package/es/contract/compiler/Base.mjs +5 -0
  108. package/es/contract/compiler/Base.mjs.map +1 -0
  109. package/es/contract/compiler/Cli.d.ts +23 -0
  110. package/es/contract/compiler/Cli.mjs +155 -0
  111. package/es/contract/compiler/Cli.mjs.map +1 -0
  112. package/es/contract/compiler/Http.d.ts +32 -0
  113. package/es/contract/compiler/Http.mjs +118 -0
  114. package/es/contract/compiler/Http.mjs.map +1 -0
  115. package/es/contract/compiler/HttpNode.d.ts +17 -0
  116. package/es/contract/compiler/HttpNode.mjs +26 -0
  117. package/es/contract/compiler/HttpNode.mjs.map +1 -0
  118. package/es/contract/compiler/getFileSystem.d.ts +6 -0
  119. package/es/contract/compiler/getFileSystem.mjs +40 -0
  120. package/es/contract/compiler/getFileSystem.mjs.map +1 -0
  121. package/es/contract/ga.d.ts +9 -34
  122. package/es/contract/ga.mjs +29 -112
  123. package/es/contract/ga.mjs.map +1 -1
  124. package/es/index-browser.d.ts +39 -0
  125. package/es/index-browser.mjs +55 -0
  126. package/es/index-browser.mjs.map +1 -0
  127. package/es/index.d.ts +4 -35
  128. package/es/index.mjs +4 -51
  129. package/es/index.mjs.map +1 -1
  130. package/es/oracle.d.ts +5 -5
  131. package/es/oracle.mjs +34 -40
  132. package/es/oracle.mjs.map +1 -1
  133. package/es/spend.d.ts +3 -3
  134. package/es/spend.mjs +18 -23
  135. package/es/spend.mjs.map +1 -1
  136. package/es/tx/builder/constants.d.ts +30 -2
  137. package/es/tx/builder/constants.mjs +43 -14
  138. package/es/tx/builder/constants.mjs.map +1 -1
  139. package/es/tx/builder/field-types/abi-version.d.ts +10 -0
  140. package/es/tx/builder/field-types/abi-version.mjs +20 -0
  141. package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
  142. package/es/tx/builder/field-types/address.d.ts +14 -0
  143. package/es/tx/builder/field-types/address.mjs +51 -0
  144. package/es/tx/builder/field-types/address.mjs.map +1 -0
  145. package/es/tx/builder/field-types/array.d.ts +7 -0
  146. package/es/tx/builder/field-types/array.mjs +11 -0
  147. package/es/tx/builder/field-types/array.mjs.map +1 -0
  148. package/es/tx/builder/field-types/boolean.d.ts +6 -0
  149. package/es/tx/builder/field-types/boolean.mjs +13 -0
  150. package/es/tx/builder/field-types/boolean.mjs.map +1 -0
  151. package/es/tx/builder/field-types/coin-amount.d.ts +2 -3
  152. package/es/tx/builder/field-types/coin-amount.mjs +4 -12
  153. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  154. package/es/tx/builder/field-types/ct-version.d.ts +30 -0
  155. package/es/tx/builder/field-types/ct-version.mjs +48 -0
  156. package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
  157. package/es/tx/builder/field-types/deposit.d.ts +1 -2
  158. package/es/tx/builder/field-types/deposit.mjs +2 -4
  159. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  160. package/es/tx/builder/field-types/encoded.d.ts +6 -0
  161. package/es/tx/builder/field-types/encoded.mjs +21 -0
  162. package/es/tx/builder/field-types/encoded.mjs.map +1 -0
  163. package/es/tx/builder/field-types/entry.d.ts +11 -0
  164. package/es/tx/builder/field-types/entry.mjs +31 -0
  165. package/es/tx/builder/field-types/entry.mjs.map +1 -0
  166. package/es/tx/builder/field-types/enumeration.d.ts +7 -0
  167. package/es/tx/builder/field-types/enumeration.mjs +30 -0
  168. package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
  169. package/es/tx/builder/field-types/fee.d.ts +10 -15
  170. package/es/tx/builder/field-types/fee.mjs +31 -43
  171. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  172. package/es/tx/builder/field-types/field.mjs +0 -2
  173. package/es/tx/builder/field-types/field.mjs.map +1 -1
  174. package/es/tx/builder/field-types/gas-limit.d.ts +5 -2
  175. package/es/tx/builder/field-types/gas-limit.mjs +12 -14
  176. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  177. package/es/tx/builder/field-types/gas-price.d.ts +1 -2
  178. package/es/tx/builder/field-types/gas-price.mjs +3 -7
  179. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  180. package/es/tx/builder/field-types/index.d.ts +80 -30
  181. package/es/tx/builder/field-types/index.mjs +34 -9
  182. package/es/tx/builder/field-types/index.mjs.map +1 -1
  183. package/es/tx/builder/field-types/mptree.d.ts +37 -0
  184. package/es/tx/builder/field-types/mptree.mjs +268 -0
  185. package/es/tx/builder/field-types/mptree.mjs.map +1 -0
  186. package/es/tx/builder/field-types/name-fee.d.ts +1 -3
  187. package/es/tx/builder/field-types/name-fee.mjs +3 -5
  188. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  189. package/es/tx/builder/field-types/name-id.d.ts +1 -4
  190. package/es/tx/builder/field-types/name-id.mjs +5 -10
  191. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  192. package/es/tx/builder/field-types/name.mjs +0 -2
  193. package/es/tx/builder/field-types/name.mjs.map +1 -1
  194. package/es/tx/builder/field-types/pointers.d.ts +23 -0
  195. package/es/tx/builder/field-types/pointers.mjs +36 -0
  196. package/es/tx/builder/field-types/pointers.mjs.map +1 -0
  197. package/es/tx/builder/field-types/raw.d.ts +6 -0
  198. package/es/tx/builder/field-types/raw.mjs +13 -0
  199. package/es/tx/builder/field-types/raw.mjs.map +1 -0
  200. package/es/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  201. package/es/tx/builder/field-types/short-u-int-const.mjs +16 -0
  202. package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
  203. package/es/tx/builder/field-types/short-u-int.mjs +0 -2
  204. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
  205. package/es/tx/builder/field-types/string.d.ts +6 -0
  206. package/es/tx/builder/field-types/string.mjs +10 -0
  207. package/es/tx/builder/field-types/string.mjs.map +1 -0
  208. package/es/tx/builder/field-types/u-int.d.ts +1 -2
  209. package/es/tx/builder/field-types/u-int.mjs +3 -4
  210. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  211. package/es/tx/builder/helpers.d.ts +2 -32
  212. package/es/tx/builder/helpers.mjs +19 -71
  213. package/es/tx/builder/helpers.mjs.map +1 -1
  214. package/es/tx/builder/index.d.ts +11 -49
  215. package/es/tx/builder/index.mjs +57 -337
  216. package/es/tx/builder/index.mjs.map +1 -1
  217. package/es/tx/builder/schema.d.ts +2367 -667
  218. package/es/tx/builder/schema.mjs +70 -145
  219. package/es/tx/builder/schema.mjs.map +1 -1
  220. package/es/tx/index.d.ts +4 -49
  221. package/es/tx/index.mjs +38 -112
  222. package/es/tx/index.mjs.map +1 -1
  223. package/es/tx/validator.d.ts +4 -6
  224. package/es/tx/validator.mjs +104 -90
  225. package/es/tx/validator.mjs.map +1 -1
  226. package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
  227. package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
  228. package/es/utils/amount-formatter.mjs +4 -10
  229. package/es/utils/amount-formatter.mjs.map +1 -1
  230. package/es/utils/autorest.d.ts +1 -0
  231. package/es/utils/autorest.mjs +17 -19
  232. package/es/utils/autorest.mjs.map +1 -1
  233. package/es/utils/bignumber.mjs +4 -7
  234. package/es/utils/bignumber.mjs.map +1 -1
  235. package/es/utils/bytes.d.ts +0 -17
  236. package/es/utils/bytes.mjs +6 -35
  237. package/es/utils/bytes.mjs.map +1 -1
  238. package/es/utils/crypto.d.ts +15 -8
  239. package/es/utils/crypto.mjs +40 -40
  240. package/es/utils/crypto.mjs.map +1 -1
  241. package/es/utils/encoder-types.d.ts +28 -28
  242. package/es/utils/encoder-types.mjs +0 -1
  243. package/es/utils/encoder-types.mjs.map +1 -1
  244. package/es/utils/encoder.d.ts +0 -1
  245. package/es/utils/encoder.mjs +7 -15
  246. package/es/utils/encoder.mjs.map +1 -1
  247. package/es/utils/errors.d.ts +15 -14
  248. package/es/utils/errors.mjs +86 -172
  249. package/es/utils/errors.mjs.map +1 -1
  250. package/es/utils/hd-wallet.d.ts +27 -19
  251. package/es/utils/hd-wallet.mjs +42 -26
  252. package/es/utils/hd-wallet.mjs.map +1 -1
  253. package/es/utils/json-big.mjs +0 -8
  254. package/es/utils/json-big.mjs.map +1 -1
  255. package/es/utils/keystore.d.ts +2 -0
  256. package/es/utils/keystore.mjs +37 -36
  257. package/es/utils/keystore.mjs.map +1 -1
  258. package/es/utils/other.d.ts +4 -2
  259. package/es/utils/other.mjs +11 -7
  260. package/es/utils/other.mjs.map +1 -1
  261. package/es/utils/semver-satisfies.mjs +0 -3
  262. package/es/utils/semver-satisfies.mjs.map +1 -1
  263. package/es/utils/string.d.ts +0 -12
  264. package/es/utils/string.mjs +1 -21
  265. package/es/utils/string.mjs.map +1 -1
  266. package/package.json +98 -51
  267. package/src/AeSdk.ts +15 -11
  268. package/src/AeSdkAepp.ts +9 -7
  269. package/src/AeSdkBase.ts +31 -202
  270. package/src/AeSdkMethods.ts +169 -0
  271. package/src/AeSdkWallet.ts +16 -47
  272. package/src/Node.ts +17 -18
  273. package/src/account/Base.ts +29 -75
  274. package/src/account/Generalized.ts +98 -0
  275. package/src/account/Ledger.ts +131 -0
  276. package/src/account/LedgerFactory.ts +86 -0
  277. package/src/account/Memory.ts +46 -60
  278. package/src/account/Rpc.ts +17 -26
  279. package/src/aens.ts +13 -11
  280. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +21 -9
  281. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
  282. package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -4
  283. package/src/aepp-wallet-communication/rpc/types.ts +11 -1
  284. package/src/aepp-wallet-communication/schema.ts +18 -18
  285. package/src/apis/compiler/code-model-v4.yaml +681 -888
  286. package/src/apis/compiler/compiler.ts +113 -154
  287. package/src/apis/compiler/models/index.ts +80 -140
  288. package/src/apis/compiler/models/mappers.ts +165 -183
  289. package/src/apis/compiler/models/parameters.ts +6 -12
  290. package/src/chain.ts +11 -6
  291. package/src/channel/Base.ts +335 -0
  292. package/src/channel/Contract.ts +488 -0
  293. package/src/channel/Spend.ts +408 -0
  294. package/src/channel/handlers.ts +164 -582
  295. package/src/channel/internal.ts +114 -143
  296. package/src/contract/Contract.ts +610 -0
  297. package/src/contract/compiler/Base.ts +94 -0
  298. package/src/contract/compiler/Cli.ts +134 -0
  299. package/src/contract/compiler/Http.ts +124 -0
  300. package/src/contract/compiler/HttpNode.ts +26 -0
  301. package/src/contract/compiler/getFileSystem.ts +42 -0
  302. package/src/contract/ga.ts +23 -106
  303. package/src/index-browser.ts +58 -0
  304. package/src/index.ts +4 -55
  305. package/src/oracle.ts +8 -8
  306. package/src/spend.ts +6 -14
  307. package/src/tx/builder/constants.ts +33 -3
  308. package/src/tx/builder/field-types/abi-version.ts +21 -0
  309. package/src/tx/builder/field-types/address.ts +62 -0
  310. package/src/tx/builder/field-types/array.ts +19 -0
  311. package/src/tx/builder/field-types/boolean.ts +9 -0
  312. package/src/tx/builder/field-types/coin-amount.ts +4 -9
  313. package/src/tx/builder/field-types/ct-version.ts +50 -0
  314. package/src/tx/builder/field-types/deposit.ts +1 -1
  315. package/src/tx/builder/field-types/encoded.ts +27 -0
  316. package/src/tx/builder/field-types/entry.ts +31 -0
  317. package/src/tx/builder/field-types/enumeration.ts +32 -0
  318. package/src/tx/builder/field-types/fee.ts +39 -21
  319. package/src/tx/builder/field-types/gas-limit.ts +13 -8
  320. package/src/tx/builder/field-types/gas-price.ts +0 -2
  321. package/src/tx/builder/field-types/index.ts +54 -15
  322. package/src/tx/builder/field-types/mptree.ts +242 -0
  323. package/src/tx/builder/field-types/name-fee.ts +2 -3
  324. package/src/tx/builder/field-types/name-id.ts +7 -10
  325. package/src/tx/builder/field-types/pointers.ts +41 -0
  326. package/src/tx/builder/field-types/raw.ts +9 -0
  327. package/src/tx/builder/field-types/short-u-int-const.ts +20 -0
  328. package/src/tx/builder/field-types/string.ts +11 -0
  329. package/src/tx/builder/field-types/u-int.ts +4 -5
  330. package/src/tx/builder/helpers.ts +10 -60
  331. package/src/tx/builder/index.ts +65 -308
  332. package/src/tx/builder/schema.ts +280 -341
  333. package/src/tx/index.ts +40 -103
  334. package/src/tx/validator.ts +91 -96
  335. package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
  336. package/src/utils/autorest.ts +16 -1
  337. package/src/utils/bytes.ts +6 -34
  338. package/src/utils/crypto.ts +23 -16
  339. package/src/utils/encoder.ts +0 -1
  340. package/src/utils/errors.ts +22 -25
  341. package/src/utils/hd-wallet.ts +30 -9
  342. package/src/utils/keystore.ts +24 -21
  343. package/src/utils/other.ts +16 -1
  344. package/src/utils/string.ts +0 -20
  345. package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
  346. package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
  347. package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
  348. package/types-legacy/ts4.2/AeSdkMethods.d.ts +140 -0
  349. package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
  350. package/types-legacy/ts4.2/Node.d.ts +78 -0
  351. package/types-legacy/ts4.2/account/Base.d.ts +52 -0
  352. package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
  353. package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
  354. package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
  355. package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
  356. package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
  357. package/types-legacy/ts4.2/aens.d.ts +222 -0
  358. package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  359. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
  360. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  361. package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  362. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  363. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
  364. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
  365. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  366. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
  367. package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
  368. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
  369. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
  370. package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
  371. package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
  372. package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
  373. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
  374. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
  375. package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
  376. package/types-legacy/ts4.2/chain.d.ts +256 -0
  377. package/types-legacy/ts4.2/channel/Base.d.ts +199 -0
  378. package/types-legacy/ts4.2/channel/Contract.d.ts +248 -0
  379. package/types-legacy/ts4.2/channel/Spend.d.ts +219 -0
  380. package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
  381. package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
  382. package/types-legacy/ts4.2/contract/Contract.d.ts +212 -0
  383. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +81 -0
  384. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
  385. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
  386. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
  387. package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
  388. package/types-legacy/ts4.2/contract/ga.d.ts +44 -0
  389. package/types-legacy/ts4.2/globals.d.ts +16 -0
  390. package/types-legacy/ts4.2/index-browser.d.ts +39 -0
  391. package/types-legacy/ts4.2/index.d.ts +5 -0
  392. package/types-legacy/ts4.2/oracle.d.ts +161 -0
  393. package/types-legacy/ts4.2/spend.d.ts +62 -0
  394. package/types-legacy/ts4.2/tx/builder/constants.d.ts +98 -0
  395. package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +10 -0
  396. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +21 -0
  397. package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
  398. package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
  399. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
  400. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +42 -0
  401. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
  402. package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
  403. package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
  404. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +7 -0
  405. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +20 -0
  406. package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
  407. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +15 -0
  408. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
  409. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +129 -0
  410. package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +43 -0
  411. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +18 -0
  412. package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
  413. package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
  414. package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
  415. package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
  416. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  417. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
  418. package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
  419. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +7 -0
  420. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
  421. package/types-legacy/ts4.2/tx/builder/index.d.ts +50 -0
  422. package/types-legacy/ts4.2/tx/builder/schema.d.ts +4675 -0
  423. package/types-legacy/ts4.2/tx/index.d.ts +19 -0
  424. package/types-legacy/ts4.2/tx/validator.d.ts +18 -0
  425. package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
  426. package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
  427. package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
  428. package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
  429. package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
  430. package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
  431. package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
  432. package/types-legacy/ts4.2/utils/errors.d.ts +475 -0
  433. package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
  434. package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
  435. package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
  436. package/types-legacy/ts4.2/utils/other.d.ts +31 -0
  437. package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
  438. package/types-legacy/ts4.2/utils/string.d.ts +12 -0
  439. package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
  440. package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
  441. package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
  442. package/types-legacy/ts4.5/AeSdkMethods.d.ts +140 -0
  443. package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
  444. package/types-legacy/ts4.5/Node.d.ts +78 -0
  445. package/types-legacy/ts4.5/account/Base.d.ts +52 -0
  446. package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
  447. package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
  448. package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
  449. package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
  450. package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
  451. package/types-legacy/ts4.5/aens.d.ts +222 -0
  452. package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  453. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
  454. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  455. package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  456. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  457. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
  458. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
  459. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  460. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
  461. package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
  462. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
  463. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
  464. package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
  465. package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
  466. package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
  467. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
  468. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
  469. package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
  470. package/types-legacy/ts4.5/chain.d.ts +256 -0
  471. package/types-legacy/ts4.5/channel/Base.d.ts +199 -0
  472. package/types-legacy/ts4.5/channel/Contract.d.ts +248 -0
  473. package/types-legacy/ts4.5/channel/Spend.d.ts +219 -0
  474. package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
  475. package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
  476. package/types-legacy/ts4.5/contract/Contract.d.ts +212 -0
  477. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +81 -0
  478. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
  479. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
  480. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
  481. package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
  482. package/types-legacy/ts4.5/contract/ga.d.ts +44 -0
  483. package/types-legacy/ts4.5/index-browser.d.ts +39 -0
  484. package/types-legacy/ts4.5/index.d.ts +4 -0
  485. package/types-legacy/ts4.5/oracle.d.ts +161 -0
  486. package/types-legacy/ts4.5/spend.d.ts +62 -0
  487. package/types-legacy/ts4.5/tx/builder/constants.d.ts +98 -0
  488. package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +10 -0
  489. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +21 -0
  490. package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
  491. package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
  492. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
  493. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +42 -0
  494. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
  495. package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
  496. package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
  497. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +7 -0
  498. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +20 -0
  499. package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
  500. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +15 -0
  501. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
  502. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +129 -0
  503. package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +43 -0
  504. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +18 -0
  505. package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
  506. package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
  507. package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
  508. package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
  509. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  510. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
  511. package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
  512. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +7 -0
  513. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
  514. package/types-legacy/ts4.5/tx/builder/index.d.ts +50 -0
  515. package/types-legacy/ts4.5/tx/builder/schema.d.ts +4675 -0
  516. package/types-legacy/ts4.5/tx/index.d.ts +19 -0
  517. package/types-legacy/ts4.5/tx/validator.d.ts +18 -0
  518. package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
  519. package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
  520. package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
  521. package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
  522. package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
  523. package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
  524. package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
  525. package/types-legacy/ts4.5/utils/errors.d.ts +475 -0
  526. package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
  527. package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
  528. package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
  529. package/types-legacy/ts4.5/utils/other.d.ts +31 -0
  530. package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
  531. package/types-legacy/ts4.5/utils/string.d.ts +12 -0
  532. package/es/channel/index.d.ts +0 -625
  533. package/es/channel/index.mjs +0 -975
  534. package/es/channel/index.mjs.map +0 -1
  535. package/es/contract/Compiler.d.ts +0 -18
  536. package/es/contract/Compiler.mjs +0 -68
  537. package/es/contract/Compiler.mjs.map +0 -1
  538. package/es/contract/aci.d.ts +0 -127
  539. package/es/contract/aci.mjs +0 -508
  540. package/es/contract/aci.mjs.map +0 -1
  541. package/es/contract/methods.d.ts +0 -71
  542. package/es/contract/methods.mjs +0 -104
  543. package/es/contract/methods.mjs.map +0 -1
  544. package/es/deprecated/index.d.ts +0 -143
  545. package/es/deprecated/index.mjs +0 -162
  546. package/es/deprecated/index.mjs.map +0 -1
  547. package/es/deprecated/methods.d.ts +0 -18
  548. package/es/deprecated/methods.mjs +0 -26
  549. package/es/deprecated/methods.mjs.map +0 -1
  550. package/es/tx/builder/address.d.ts +0 -25
  551. package/es/tx/builder/address.mjs +0 -45
  552. package/es/tx/builder/address.mjs.map +0 -1
  553. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
  554. package/es/utils/mptree.d.ts +0 -26
  555. package/es/utils/mptree.mjs +0 -165
  556. package/es/utils/mptree.mjs.map +0 -1
  557. package/src/channel/index.ts +0 -1025
  558. package/src/contract/Compiler.ts +0 -67
  559. package/src/contract/aci.ts +0 -537
  560. package/src/contract/methods.ts +0 -123
  561. package/src/deprecated/index.ts +0 -172
  562. package/src/deprecated/methods.ts +0 -25
  563. package/src/tx/builder/address.ts +0 -50
  564. package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
  565. package/src/utils/mptree.ts +0 -145
@@ -4,17 +4,18 @@
4
4
  // # RLP version number
5
5
  // # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization
6
6
  import { Tag } from "./constants.mjs";
7
- import { uInt, shortUInt, coinAmount, name, nameId, nameFee, deposit, gasLimit, gasPrice, fee } from "./field-types/index.mjs";
7
+ import { uInt, shortUInt, coinAmount, name, nameId, nameFee, deposit, gasLimit, gasPrice, fee, address, pointers, entry, enumeration, mptree, shortUIntConst, string, encoded, raw, array, boolean, ctVersion, abiVersion } from "./field-types/index.mjs";
8
8
  import { Encoding } from "../../utils/encoder.mjs";
9
- export let ORACLE_TTL_TYPES; // # TRANSACTION DEFAULT TTL
9
+ import { idTagToEncoding } from "./field-types/address.mjs";
10
+ export let ORACLE_TTL_TYPES;
10
11
 
12
+ // # TRANSACTION DEFAULT TTL
11
13
  (function (ORACLE_TTL_TYPES) {
12
14
  ORACLE_TTL_TYPES[ORACLE_TTL_TYPES["delta"] = 0] = "delta";
13
15
  ORACLE_TTL_TYPES[ORACLE_TTL_TYPES["block"] = 1] = "block";
14
16
  })(ORACLE_TTL_TYPES || (ORACLE_TTL_TYPES = {}));
15
-
16
- export const TX_TTL = 0; // # ORACLE
17
-
17
+ export const TX_TTL = 0;
18
+ // # ORACLE
18
19
  export const QUERY_FEE = 30000;
19
20
  export const ORACLE_TTL = {
20
21
  type: ORACLE_TTL_TYPES.delta,
@@ -27,245 +28,169 @@ export const QUERY_TTL = {
27
28
  export const RESPONSE_TTL = {
28
29
  type: ORACLE_TTL_TYPES.delta,
29
30
  value: 10
30
- }; // # CONTRACT
31
-
32
- export const AMOUNT = 0;
33
- export const MAX_AUTH_FUN_GAS = 50000;
31
+ };
32
+ // # CONTRACT
34
33
  export const DRY_RUN_ACCOUNT = {
35
34
  pub: 'ak_11111111111111111111111111111111273Yts',
36
35
  amount: 100000000000000000000000000000000000n
37
36
  };
38
-
39
- /**
40
- * @category transaction builder
41
- * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
42
- */
43
- export let VM_VERSIONS;
37
+ export let CallReturnType;
38
+ (function (CallReturnType) {
39
+ CallReturnType[CallReturnType["Ok"] = 0] = "Ok";
40
+ CallReturnType[CallReturnType["Error"] = 1] = "Error";
41
+ CallReturnType[CallReturnType["Revert"] = 2] = "Revert";
42
+ })(CallReturnType || (CallReturnType = {}));
44
43
  /**
45
- * @category transaction builder
46
- * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
44
+ * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}
47
45
  */
48
-
49
- (function (VM_VERSIONS) {
50
- VM_VERSIONS[VM_VERSIONS["NO_VM"] = 0] = "NO_VM";
51
- VM_VERSIONS[VM_VERSIONS["SOPHIA"] = 1] = "SOPHIA";
52
- VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_MINERVA"] = 3] = "SOPHIA_IMPROVEMENTS_MINERVA";
53
- VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_FORTUNA"] = 4] = "SOPHIA_IMPROVEMENTS_FORTUNA";
54
- VM_VERSIONS[VM_VERSIONS["FATE"] = 5] = "FATE";
55
- VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_LIMA"] = 6] = "SOPHIA_IMPROVEMENTS_LIMA";
56
- VM_VERSIONS[VM_VERSIONS["FATE_2"] = 7] = "FATE_2";
57
- })(VM_VERSIONS || (VM_VERSIONS = {}));
58
-
59
- export let ABI_VERSIONS;
60
- /**
61
- * @category transaction builder
62
- */
63
-
64
- (function (ABI_VERSIONS) {
65
- ABI_VERSIONS[ABI_VERSIONS["NO_ABI"] = 0] = "NO_ABI";
66
- ABI_VERSIONS[ABI_VERSIONS["SOPHIA"] = 1] = "SOPHIA";
67
- ABI_VERSIONS[ABI_VERSIONS["FATE"] = 3] = "FATE";
68
- })(ABI_VERSIONS || (ABI_VERSIONS = {}));
69
-
70
- export let PROTOCOL_VERSIONS; // First abi/vm by default
71
-
72
- (function (PROTOCOL_VERSIONS) {
73
- PROTOCOL_VERSIONS[PROTOCOL_VERSIONS["IRIS"] = 5] = "IRIS";
74
- })(PROTOCOL_VERSIONS || (PROTOCOL_VERSIONS = {}));
75
-
76
- export const PROTOCOL_VM_ABI = {
77
- [PROTOCOL_VERSIONS.IRIS]: {
78
- [Tag.ContractCreateTx]: {
79
- vmVersion: [VM_VERSIONS.FATE_2],
80
- abiVersion: [ABI_VERSIONS.FATE]
81
- },
82
- // TODO: Ensure that AEVM (SOPHIA?) is still available here
83
- [Tag.ContractCallTx]: {
84
- vmVersion: [],
85
- abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]
86
- },
87
- [Tag.OracleRegisterTx]: {
88
- vmVersion: [],
89
- abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]
90
- }
91
- }
92
- };
93
-
94
- /**
95
- * @category transaction builder
96
- */
97
- export let FIELD_TYPES;
98
-
99
- (function (FIELD_TYPES) {
100
- FIELD_TYPES[FIELD_TYPES["id"] = 0] = "id";
101
- FIELD_TYPES[FIELD_TYPES["ids"] = 1] = "ids";
102
- FIELD_TYPES[FIELD_TYPES["string"] = 2] = "string";
103
- FIELD_TYPES[FIELD_TYPES["binary"] = 3] = "binary";
104
- FIELD_TYPES[FIELD_TYPES["bool"] = 4] = "bool";
105
- FIELD_TYPES[FIELD_TYPES["hex"] = 5] = "hex";
106
- FIELD_TYPES[FIELD_TYPES["rlpBinary"] = 6] = "rlpBinary";
107
- FIELD_TYPES[FIELD_TYPES["rlpBinaries"] = 7] = "rlpBinaries";
108
- FIELD_TYPES[FIELD_TYPES["rawBinary"] = 8] = "rawBinary";
109
- FIELD_TYPES[FIELD_TYPES["signatures"] = 9] = "signatures";
110
- FIELD_TYPES[FIELD_TYPES["pointers"] = 10] = "pointers";
111
- FIELD_TYPES[FIELD_TYPES["offChainUpdates"] = 11] = "offChainUpdates";
112
- FIELD_TYPES[FIELD_TYPES["callStack"] = 12] = "callStack";
113
- FIELD_TYPES[FIELD_TYPES["proofOfInclusion"] = 13] = "proofOfInclusion";
114
- FIELD_TYPES[FIELD_TYPES["mptrees"] = 14] = "mptrees";
115
- FIELD_TYPES[FIELD_TYPES["callReturnType"] = 15] = "callReturnType";
116
- FIELD_TYPES[FIELD_TYPES["ctVersion"] = 16] = "ctVersion";
117
- FIELD_TYPES[FIELD_TYPES["abiVersion"] = 17] = "abiVersion";
118
- FIELD_TYPES[FIELD_TYPES["ttlType"] = 18] = "ttlType";
119
- FIELD_TYPES[FIELD_TYPES["sophiaCodeTypeInfo"] = 19] = "sophiaCodeTypeInfo";
120
- FIELD_TYPES[FIELD_TYPES["payload"] = 20] = "payload";
121
- FIELD_TYPES[FIELD_TYPES["stateTree"] = 21] = "stateTree";
122
- })(FIELD_TYPES || (FIELD_TYPES = {}));
123
-
124
- const BASE_TX = [['tag', shortUInt], ['VSN', shortUInt]];
125
46
  export const TX_SCHEMA = {
126
47
  [Tag.Account]: {
127
- 1: [...BASE_TX, ['nonce', shortUInt], ['balance', uInt]],
128
- 2: [...BASE_TX, ['flags', uInt], ['nonce', shortUInt], ['balance', uInt], ['gaContract', FIELD_TYPES.id, [Encoding.ContractAddress, Encoding.Name]], ['gaAuthFun', FIELD_TYPES.binary, Encoding.ContractBytearray]]
48
+ 1: [['tag', shortUIntConst(Tag.Account)], ['version', shortUIntConst(1)], ['nonce', shortUInt], ['balance', uInt]],
49
+ 2: [['tag', shortUIntConst(Tag.Account)], ['version', shortUIntConst(2)], ['flags', uInt], ['nonce', shortUInt], ['balance', uInt], ['gaContract', address(Encoding.ContractAddress, Encoding.Name)], ['gaAuthFun', encoded(Encoding.ContractBytearray)]]
129
50
  },
130
51
  [Tag.SignedTx]: {
131
- 1: [...BASE_TX, ['signatures', FIELD_TYPES.signatures], ['encodedTx', FIELD_TYPES.rlpBinary]]
52
+ 1: [['tag', shortUIntConst(Tag.SignedTx)], ['version', shortUIntConst(1)], ['signatures', array(raw)], ['encodedTx', entry()]]
132
53
  },
133
54
  [Tag.SpendTx]: {
134
- 1: [...BASE_TX, ['senderId', FIELD_TYPES.id, Encoding.AccountAddress], ['recipientId', FIELD_TYPES.id, [Encoding.AccountAddress, Encoding.Name]], ['amount', coinAmount], ['fee', fee], ['ttl', shortUInt], ['nonce', shortUInt], ['payload', FIELD_TYPES.payload]]
55
+ 1: [['tag', shortUIntConst(Tag.SpendTx)], ['version', shortUIntConst(1)], ['senderId', address(Encoding.AccountAddress)], ['recipientId', address(Encoding.AccountAddress, Encoding.Name)], ['amount', coinAmount], ['fee', fee], ['ttl', shortUInt], ['nonce', shortUInt], ['payload', encoded(Encoding.Bytearray, true)]]
56
+ },
57
+ [Tag.Name]: {
58
+ 1: [['tag', shortUIntConst(Tag.Name)], ['version', shortUIntConst(1)], ['accountId', address(Encoding.AccountAddress)], ['nameTtl', shortUInt], ['status', raw], ['clientTtl', shortUInt], ['pointers', pointers]]
135
59
  },
136
60
  [Tag.NamePreclaimTx]: {
137
- 1: [...BASE_TX, ['accountId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['commitmentId', FIELD_TYPES.id, Encoding.Commitment], ['fee', fee], ['ttl', shortUInt]]
61
+ 1: [['tag', shortUIntConst(Tag.NamePreclaimTx)], ['version', shortUIntConst(1)], ['accountId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['commitmentId', address(Encoding.Commitment)], ['fee', fee], ['ttl', shortUInt]]
138
62
  },
139
63
  [Tag.NameClaimTx]: {
140
- 2: [...BASE_TX, ['accountId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['name', name], ['nameSalt', uInt], ['nameFee', nameFee], ['fee', fee], ['ttl', shortUInt]]
64
+ 2: [['tag', shortUIntConst(Tag.NameClaimTx)], ['version', shortUIntConst(2)], ['accountId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['name', name], ['nameSalt', uInt], ['nameFee', nameFee], ['fee', fee], ['ttl', shortUInt]]
141
65
  },
142
66
  [Tag.NameUpdateTx]: {
143
- 1: [...BASE_TX, ['accountId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['nameId', nameId], ['nameTtl', uInt], ['pointers', FIELD_TYPES.pointers], ['clientTtl', shortUInt], ['fee', fee], ['ttl', shortUInt]]
67
+ 1: [['tag', shortUIntConst(Tag.NameUpdateTx)], ['version', shortUIntConst(1)], ['accountId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['nameId', nameId], ['nameTtl', shortUInt], ['pointers', pointers], ['clientTtl', shortUInt], ['fee', fee], ['ttl', shortUInt]]
144
68
  },
145
69
  [Tag.NameTransferTx]: {
146
- 1: [...BASE_TX, ['accountId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['nameId', nameId], ['recipientId', FIELD_TYPES.id, [Encoding.AccountAddress, Encoding.Name]], ['fee', fee], ['ttl', shortUInt]]
70
+ 1: [['tag', shortUIntConst(Tag.NameTransferTx)], ['version', shortUIntConst(1)], ['accountId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['nameId', nameId], ['recipientId', address(Encoding.AccountAddress, Encoding.Name)], ['fee', fee], ['ttl', shortUInt]]
147
71
  },
148
72
  [Tag.NameRevokeTx]: {
149
- 1: [...BASE_TX, ['accountId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['nameId', nameId], ['fee', fee], ['ttl', shortUInt]]
73
+ 1: [['tag', shortUIntConst(Tag.NameRevokeTx)], ['version', shortUIntConst(1)], ['accountId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['nameId', nameId], ['fee', fee], ['ttl', shortUInt]]
150
74
  },
151
75
  [Tag.Contract]: {
152
- 1: [...BASE_TX, ['owner', FIELD_TYPES.id, Encoding.AccountAddress], ['ctVersion', FIELD_TYPES.ctVersion], ['code', FIELD_TYPES.binary, Encoding.ContractBytearray], ['log', FIELD_TYPES.binary, Encoding.ContractBytearray], ['active', FIELD_TYPES.bool], ['referers', FIELD_TYPES.ids, Encoding.AccountAddress], ['deposit', deposit]]
76
+ 1: [['tag', shortUIntConst(Tag.Contract)], ['version', shortUIntConst(1)], ['owner', address(Encoding.AccountAddress)], ['ctVersion', ctVersion], ['code', encoded(Encoding.ContractBytearray)], ['log', encoded(Encoding.ContractBytearray)], ['active', boolean], ['referers', array(address(Encoding.AccountAddress))], ['deposit', deposit]]
153
77
  },
154
78
  [Tag.ContractCreateTx]: {
155
- 1: [...BASE_TX, ['ownerId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['code', FIELD_TYPES.binary, Encoding.ContractBytearray], ['ctVersion', FIELD_TYPES.ctVersion], ['fee', fee], ['ttl', shortUInt], ['deposit', deposit], ['amount', coinAmount], ['gasLimit', gasLimit], ['gasPrice', gasPrice], ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray]]
79
+ 1: [['tag', shortUIntConst(Tag.ContractCreateTx)], ['version', shortUIntConst(1)], ['ownerId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['code', encoded(Encoding.ContractBytearray)], ['ctVersion', ctVersion], ['fee', fee], ['ttl', shortUInt], ['deposit', deposit], ['amount', coinAmount], ['gasLimit', gasLimit], ['gasPrice', gasPrice], ['callData', encoded(Encoding.ContractBytearray)]]
156
80
  },
157
81
  [Tag.ContractCallTx]: {
158
- 1: [...BASE_TX, ['callerId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['contractId', FIELD_TYPES.id, [Encoding.ContractAddress, Encoding.Name]], ['abiVersion', FIELD_TYPES.abiVersion], ['fee', fee], ['ttl', shortUInt], ['amount', coinAmount], ['gasLimit', gasLimit], ['gasPrice', gasPrice], ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray]]
82
+ 1: [['tag', shortUIntConst(Tag.ContractCallTx)], ['version', shortUIntConst(1)], ['callerId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['contractId', address(Encoding.ContractAddress, Encoding.Name)], ['abiVersion', abiVersion], ['fee', fee], ['ttl', shortUInt], ['amount', coinAmount], ['gasLimit', gasLimit], ['gasPrice', gasPrice], ['callData', encoded(Encoding.ContractBytearray)]]
159
83
  },
160
84
  [Tag.ContractCall]: {
161
- 1: [...BASE_TX, ['callerId', FIELD_TYPES.id, Encoding.AccountAddress], ['callerNonce', shortUInt], ['height', shortUInt], ['contractId', FIELD_TYPES.id, Encoding.ContractAddress], ['gasPrice', gasPrice], ['gasUsed', shortUInt], ['returnValue', FIELD_TYPES.binary, Encoding.ContractBytearray], ['returnType', FIELD_TYPES.callReturnType], // TODO: add serialization for
85
+ 1: [['tag', shortUIntConst(Tag.ContractCall)], ['version', shortUIntConst(1)], ['callerId', address(Encoding.AccountAddress)], ['callerNonce', shortUInt], ['height', shortUInt], ['contractId', address(Encoding.ContractAddress)], ['gasPrice', gasPrice], ['gasUsed', shortUInt], ['returnValue', encoded(Encoding.ContractBytearray)], ['returnType', enumeration(CallReturnType)],
86
+ // TODO: add serialization for
162
87
  // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]
163
- ['log', FIELD_TYPES.rawBinary]]
88
+ ['log', raw]]
89
+ },
90
+ [Tag.Oracle]: {
91
+ 1: [['tag', shortUIntConst(Tag.Oracle)], ['version', shortUIntConst(1)], ['accountId', address(Encoding.AccountAddress)], ['queryFormat', string], ['responseFormat', string], ['queryFee', coinAmount], ['oracleTtlValue', shortUInt], ['abiVersion', abiVersion]]
164
92
  },
165
93
  [Tag.OracleRegisterTx]: {
166
- 1: [...BASE_TX, ['accountId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['queryFormat', FIELD_TYPES.string], ['responseFormat', FIELD_TYPES.string], ['queryFee', coinAmount], ['oracleTtlType', FIELD_TYPES.ttlType], ['oracleTtlValue', shortUInt], ['fee', fee], ['ttl', shortUInt], ['abiVersion', FIELD_TYPES.abiVersion]]
94
+ 1: [['tag', shortUIntConst(Tag.OracleRegisterTx)], ['version', shortUIntConst(1)], ['accountId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['queryFormat', string], ['responseFormat', string], ['queryFee', coinAmount], ['oracleTtlType', enumeration(ORACLE_TTL_TYPES)], ['oracleTtlValue', shortUInt], ['fee', fee], ['ttl', shortUInt], ['abiVersion', abiVersion]]
167
95
  },
168
96
  [Tag.OracleExtendTx]: {
169
- 1: [...BASE_TX, ['oracleId', FIELD_TYPES.id, [Encoding.OracleAddress, Encoding.Name]], ['nonce', shortUInt], ['oracleTtlType', FIELD_TYPES.ttlType], ['oracleTtlValue', shortUInt], ['fee', fee], ['ttl', shortUInt]]
97
+ 1: [['tag', shortUIntConst(Tag.OracleExtendTx)], ['version', shortUIntConst(1)], ['oracleId', address(Encoding.OracleAddress, Encoding.Name)], ['nonce', shortUInt], ['oracleTtlType', enumeration(ORACLE_TTL_TYPES)], ['oracleTtlValue', shortUInt], ['fee', fee], ['ttl', shortUInt]]
170
98
  },
171
99
  [Tag.OracleQueryTx]: {
172
- 1: [...BASE_TX, ['senderId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['oracleId', FIELD_TYPES.id, [Encoding.OracleAddress, Encoding.Name]], ['query', FIELD_TYPES.string], ['queryFee', coinAmount], ['queryTtlType', FIELD_TYPES.ttlType], ['queryTtlValue', shortUInt], ['responseTtlType', FIELD_TYPES.ttlType], ['responseTtlValue', shortUInt], ['fee', fee], ['ttl', shortUInt]]
100
+ 1: [['tag', shortUIntConst(Tag.OracleQueryTx)], ['version', shortUIntConst(1)], ['senderId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['oracleId', address(Encoding.OracleAddress, Encoding.Name)], ['query', string], ['queryFee', coinAmount], ['queryTtlType', enumeration(ORACLE_TTL_TYPES)], ['queryTtlValue', shortUInt], ['responseTtlType', enumeration(ORACLE_TTL_TYPES)], ['responseTtlValue', shortUInt], ['fee', fee], ['ttl', shortUInt]]
173
101
  },
174
102
  [Tag.OracleResponseTx]: {
175
- 1: [...BASE_TX, ['oracleId', FIELD_TYPES.id, Encoding.OracleAddress], ['nonce', shortUInt], ['queryId', FIELD_TYPES.binary, Encoding.OracleQueryId], ['response', FIELD_TYPES.string], ['responseTtlType', FIELD_TYPES.ttlType], ['responseTtlValue', shortUInt], ['fee', fee], ['ttl', shortUInt]]
103
+ 1: [['tag', shortUIntConst(Tag.OracleResponseTx)], ['version', shortUIntConst(1)], ['oracleId', address(Encoding.OracleAddress)], ['nonce', shortUInt], ['queryId', encoded(Encoding.OracleQueryId)], ['response', string], ['responseTtlType', enumeration(ORACLE_TTL_TYPES)], ['responseTtlValue', shortUInt], ['fee', fee], ['ttl', shortUInt]]
176
104
  },
177
105
  [Tag.ChannelCreateTx]: {
178
- 2: [...BASE_TX, ['initiator', FIELD_TYPES.id, Encoding.AccountAddress], ['initiatorAmount', uInt], ['responder', FIELD_TYPES.id, Encoding.AccountAddress], ['responderAmount', uInt], ['channelReserve', uInt], ['lockPeriod', uInt], ['ttl', shortUInt], ['fee', fee], ['initiatorDelegateIds', FIELD_TYPES.string], ['responderDelegateIds', FIELD_TYPES.string], ['stateHash', FIELD_TYPES.binary, 'st'], ['nonce', shortUInt]]
106
+ 2: [['tag', shortUIntConst(Tag.ChannelCreateTx)], ['version', shortUIntConst(2)], ['initiator', address(Encoding.AccountAddress)], ['initiatorAmount', uInt], ['responder', address(Encoding.AccountAddress)], ['responderAmount', uInt], ['channelReserve', uInt], ['lockPeriod', uInt], ['ttl', shortUInt], ['fee', fee], ['initiatorDelegateIds', array(address(...idTagToEncoding))], ['responderDelegateIds', array(address(...idTagToEncoding))], ['stateHash', encoded(Encoding.State)], ['nonce', shortUInt]]
179
107
  },
180
108
  [Tag.ChannelCloseMutualTx]: {
181
- 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, Encoding.Channel], ['fromId', FIELD_TYPES.id, Encoding.AccountAddress], ['initiatorAmountFinal', uInt], ['responderAmountFinal', uInt], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
109
+ 1: [['tag', shortUIntConst(Tag.ChannelCloseMutualTx)], ['version', shortUIntConst(1)], ['channelId', address(Encoding.Channel)], ['fromId', address(Encoding.AccountAddress)], ['initiatorAmountFinal', uInt], ['responderAmountFinal', uInt], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
182
110
  },
183
111
  [Tag.ChannelCloseSoloTx]: {
184
- 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, Encoding.Channel], ['fromId', FIELD_TYPES.id, Encoding.AccountAddress], ['payload', FIELD_TYPES.binary, 'tx'], ['poi', FIELD_TYPES.binary, 'pi'], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
112
+ 1: [['tag', shortUIntConst(Tag.ChannelCloseSoloTx)], ['version', shortUIntConst(1)], ['channelId', address(Encoding.Channel)], ['fromId', address(Encoding.AccountAddress)], ['payload', encoded(Encoding.Transaction)], ['poi', entry(Tag.TreesPoi)], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
185
113
  },
186
114
  [Tag.ChannelSlashTx]: {
187
- 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, Encoding.Channel], ['fromId', FIELD_TYPES.id, Encoding.AccountAddress], ['payload', FIELD_TYPES.binary, 'tx'], ['poi', FIELD_TYPES.binary, 'pi'], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
115
+ 1: [['tag', shortUIntConst(Tag.ChannelSlashTx)], ['version', shortUIntConst(1)], ['channelId', address(Encoding.Channel)], ['fromId', address(Encoding.AccountAddress)], ['payload', encoded(Encoding.Transaction)], ['poi', entry(Tag.TreesPoi)], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
188
116
  },
189
117
  [Tag.ChannelDepositTx]: {
190
- 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, Encoding.Channel], ['fromId', FIELD_TYPES.id, Encoding.AccountAddress], ['amount', uInt], ['ttl', shortUInt], ['fee', fee], ['stateHash', FIELD_TYPES.binary, 'st'], ['round', shortUInt], ['nonce', shortUInt]]
118
+ 1: [['tag', shortUIntConst(Tag.ChannelDepositTx)], ['version', shortUIntConst(1)], ['channelId', address(Encoding.Channel)], ['fromId', address(Encoding.AccountAddress)], ['amount', uInt], ['ttl', shortUInt], ['fee', fee], ['stateHash', encoded(Encoding.State)], ['round', shortUInt], ['nonce', shortUInt]]
191
119
  },
192
120
  [Tag.ChannelWithdrawTx]: {
193
- 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, Encoding.Channel], ['toId', FIELD_TYPES.id, Encoding.AccountAddress], ['amount', uInt], ['ttl', shortUInt], ['fee', fee], ['stateHash', FIELD_TYPES.binary, 'st'], ['round', shortUInt], ['nonce', shortUInt]]
121
+ 1: [['tag', shortUIntConst(Tag.ChannelWithdrawTx)], ['version', shortUIntConst(1)], ['channelId', address(Encoding.Channel)], ['toId', address(Encoding.AccountAddress)], ['amount', uInt], ['ttl', shortUInt], ['fee', fee], ['stateHash', encoded(Encoding.State)], ['round', shortUInt], ['nonce', shortUInt]]
194
122
  },
195
123
  [Tag.ChannelSettleTx]: {
196
- 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, Encoding.Channel], ['fromId', FIELD_TYPES.id, Encoding.AccountAddress], ['initiatorAmountFinal', uInt], ['responderAmountFinal', uInt], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
124
+ 1: [['tag', shortUIntConst(Tag.ChannelSettleTx)], ['version', shortUIntConst(1)], ['channelId', address(Encoding.Channel)], ['fromId', address(Encoding.AccountAddress)], ['initiatorAmountFinal', uInt], ['responderAmountFinal', uInt], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
197
125
  },
198
126
  [Tag.ChannelForceProgressTx]: {
199
- 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, Encoding.Channel], ['fromId', FIELD_TYPES.id, Encoding.AccountAddress], ['payload', FIELD_TYPES.binary, 'tx'], ['round', shortUInt], ['update', FIELD_TYPES.binary, Encoding.ContractBytearray], ['stateHash', FIELD_TYPES.binary, 'st'], ['offChainTrees', FIELD_TYPES.stateTree], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
127
+ 1: [['tag', shortUIntConst(Tag.ChannelForceProgressTx)], ['version', shortUIntConst(1)], ['channelId', address(Encoding.Channel)], ['fromId', address(Encoding.AccountAddress)], ['payload', encoded(Encoding.Transaction)], ['round', shortUInt], ['update', encoded(Encoding.ContractBytearray)], ['stateHash', encoded(Encoding.State)], ['offChainTrees', encoded(Encoding.StateTrees)], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
200
128
  },
201
129
  [Tag.ChannelOffChainTx]: {
202
- 2: [...BASE_TX, ['channelId', FIELD_TYPES.id, Encoding.Channel], ['round', shortUInt], ['stateHash', FIELD_TYPES.binary, 'st']]
130
+ 2: [['tag', shortUIntConst(Tag.ChannelOffChainTx)], ['version', shortUIntConst(2)], ['channelId', address(Encoding.Channel)], ['round', shortUInt], ['stateHash', encoded(Encoding.State)]]
203
131
  },
204
132
  [Tag.Channel]: {
205
- 3: [...BASE_TX, ['initiator', FIELD_TYPES.id, Encoding.AccountAddress], ['responder', FIELD_TYPES.id, Encoding.AccountAddress], ['channelAmount', uInt], ['initiatorAmount', uInt], ['responderAmount', uInt], ['channelReserve', uInt], ['initiatorDelegateIds', FIELD_TYPES.ids], ['responderDelegateIds', FIELD_TYPES.ids], ['stateHash', FIELD_TYPES.hex], ['round', shortUInt], ['soloRound', uInt], ['lockPeriod', uInt], ['lockedUntil', uInt], ['initiatorAuth', FIELD_TYPES.binary, Encoding.ContractBytearray], ['responderAuth', FIELD_TYPES.binary, Encoding.ContractBytearray]]
133
+ 3: [['tag', shortUIntConst(Tag.Channel)], ['version', shortUIntConst(3)], ['initiator', address(Encoding.AccountAddress)], ['responder', address(Encoding.AccountAddress)], ['channelAmount', uInt], ['initiatorAmount', uInt], ['responderAmount', uInt], ['channelReserve', uInt], ['initiatorDelegateIds', array(address(...idTagToEncoding))], ['responderDelegateIds', array(address(...idTagToEncoding))], ['stateHash', encoded(Encoding.State)], ['round', shortUInt], ['soloRound', uInt], ['lockPeriod', uInt], ['lockedUntil', uInt], ['initiatorAuth', encoded(Encoding.ContractBytearray)], ['responderAuth', encoded(Encoding.ContractBytearray)]]
206
134
  },
207
135
  [Tag.ChannelSnapshotSoloTx]: {
208
- 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, Encoding.Channel], ['fromId', FIELD_TYPES.id, Encoding.AccountAddress], ['payload', FIELD_TYPES.binary, 'tx'], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
136
+ 1: [['tag', shortUIntConst(Tag.ChannelSnapshotSoloTx)], ['version', shortUIntConst(1)], ['channelId', address(Encoding.Channel)], ['fromId', address(Encoding.AccountAddress)], ['payload', encoded(Encoding.Transaction)], ['ttl', shortUInt], ['fee', fee], ['nonce', shortUInt]]
209
137
  },
210
138
  [Tag.ChannelOffChainUpdateTransfer]: {
211
- 1: [...BASE_TX, ['from', FIELD_TYPES.id, Encoding.AccountAddress], ['to', FIELD_TYPES.id, Encoding.AccountAddress], ['amount', uInt]]
139
+ 1: [['tag', shortUIntConst(Tag.ChannelOffChainUpdateTransfer)], ['version', shortUIntConst(1)], ['from', address(Encoding.AccountAddress)], ['to', address(Encoding.AccountAddress)], ['amount', uInt]]
212
140
  },
213
141
  [Tag.ChannelOffChainUpdateDeposit]: {
214
- 1: [...BASE_TX, ['from', FIELD_TYPES.id, Encoding.AccountAddress], ['amount', uInt]]
142
+ 1: [['tag', shortUIntConst(Tag.ChannelOffChainUpdateDeposit)], ['version', shortUIntConst(1)], ['from', address(Encoding.AccountAddress)], ['amount', uInt]]
215
143
  },
216
144
  [Tag.ChannelOffChainUpdateWithdraw]: {
217
- 1: [...BASE_TX, ['from', FIELD_TYPES.id, Encoding.AccountAddress], ['amount', uInt]]
145
+ 1: [['tag', shortUIntConst(Tag.ChannelOffChainUpdateWithdraw)], ['version', shortUIntConst(1)], ['from', address(Encoding.AccountAddress)], ['amount', uInt]]
218
146
  },
219
147
  [Tag.ChannelOffChainUpdateCreateContract]: {
220
- 1: [...BASE_TX, ['owner', FIELD_TYPES.id, Encoding.AccountAddress], ['ctVersion', FIELD_TYPES.ctVersion], ['code', FIELD_TYPES.binary, Encoding.ContractBytearray], ['deposit', uInt], ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray]]
148
+ 1: [['tag', shortUIntConst(Tag.ChannelOffChainUpdateCreateContract)], ['version', shortUIntConst(1)], ['owner', address(Encoding.AccountAddress)], ['ctVersion', ctVersion], ['code', encoded(Encoding.ContractBytearray)], ['deposit', uInt], ['callData', encoded(Encoding.ContractBytearray)]]
221
149
  },
222
150
  [Tag.ChannelOffChainUpdateCallContract]: {
223
- 1: [...BASE_TX, ['caller', FIELD_TYPES.id, Encoding.AccountAddress], ['contract', FIELD_TYPES.id, Encoding.ContractAddress], ['abiVersion', FIELD_TYPES.abiVersion], ['amount', uInt], ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray], ['callStack', FIELD_TYPES.callStack], ['gasPrice', gasPrice], ['gasLimit', gasLimit]]
151
+ 1: [['tag', shortUIntConst(Tag.ChannelOffChainUpdateCallContract)], ['version', shortUIntConst(1)], ['caller', address(Encoding.AccountAddress)], ['contract', address(Encoding.ContractAddress)], ['abiVersion', abiVersion], ['amount', uInt], ['callData', encoded(Encoding.ContractBytearray)], ['callStack', raw], ['gasPrice', gasPrice], ['gasLimit', gasLimit]]
224
152
  },
225
153
  [Tag.ChannelClientReconnectTx]: {
226
- 1: [...BASE_TX, ['channelId', FIELD_TYPES.id, Encoding.Channel], ['round', shortUInt], ['role', FIELD_TYPES.string], ['pubkey', FIELD_TYPES.id, Encoding.AccountAddress]]
154
+ 1: [['tag', shortUIntConst(Tag.ChannelClientReconnectTx)], ['version', shortUIntConst(1)], ['channelId', address(Encoding.Channel)], ['round', shortUInt], ['role', string], ['pubkey', address(Encoding.AccountAddress)]]
227
155
  },
228
156
  [Tag.TreesPoi]: {
229
- 1: [...BASE_TX, ['accounts', FIELD_TYPES.mptrees], ['calls', FIELD_TYPES.mptrees], ['channels', FIELD_TYPES.mptrees], ['contracts', FIELD_TYPES.mptrees], ['ns', FIELD_TYPES.mptrees], ['oracles', FIELD_TYPES.mptrees]]
157
+ 1: [['tag', shortUIntConst(Tag.TreesPoi)], ['version', shortUIntConst(1)], ['accounts', array(mptree(Encoding.AccountAddress, Tag.Account))], ['calls', array(mptree(Encoding.Bytearray, Tag.ContractCall))], ['channels', array(mptree(Encoding.Channel, Tag.Channel))], ['contracts', array(mptree(Encoding.ContractAddress, Tag.Contract))], ['ns', array(mptree(Encoding.Name, Tag.Name))], ['oracles', array(mptree(Encoding.OracleAddress, Tag.Oracle))]]
230
158
  },
231
159
  [Tag.StateTrees]: {
232
- 1: [...BASE_TX, ['contracts', FIELD_TYPES.rlpBinary], ['calls', FIELD_TYPES.rlpBinary], ['channels', FIELD_TYPES.rlpBinary], ['ns', FIELD_TYPES.rlpBinary], ['oracles', FIELD_TYPES.rlpBinary], ['accounts', FIELD_TYPES.rlpBinary]]
160
+ 1: [['tag', shortUIntConst(Tag.StateTrees)], ['version', shortUIntConst(1)], ['contracts', entry()], ['calls', entry()], ['channels', entry()], ['ns', entry()], ['oracles', entry()], ['accounts', entry()]]
233
161
  },
234
162
  [Tag.Mtree]: {
235
- 1: [...BASE_TX, ['values', FIELD_TYPES.rlpBinaries]]
163
+ 1: [['tag', shortUIntConst(Tag.Mtree)], ['version', shortUIntConst(1)], ['values', array(entry())]]
236
164
  },
237
165
  [Tag.MtreeValue]: {
238
- 1: [...BASE_TX, ['key', FIELD_TYPES.hex], ['value', FIELD_TYPES.rawBinary]]
166
+ 1: [['tag', shortUIntConst(Tag.MtreeValue)], ['version', shortUIntConst(1)], ['key', raw], ['value', raw]]
239
167
  },
240
168
  [Tag.ContractsMtree]: {
241
- 1: [...BASE_TX, ['contracts', FIELD_TYPES.rlpBinary]]
169
+ 1: [['tag', shortUIntConst(Tag.ContractsMtree)], ['version', shortUIntConst(1)], ['contracts', entry()]]
242
170
  },
243
171
  [Tag.CallsMtree]: {
244
- 1: [...BASE_TX, ['calls', FIELD_TYPES.rlpBinary]]
172
+ 1: [['tag', shortUIntConst(Tag.CallsMtree)], ['version', shortUIntConst(1)], ['calls', entry()]]
245
173
  },
246
174
  [Tag.ChannelsMtree]: {
247
- 1: [...BASE_TX, ['channels', FIELD_TYPES.rlpBinary]]
175
+ 1: [['tag', shortUIntConst(Tag.ChannelsMtree)], ['version', shortUIntConst(1)], ['channels', entry()]]
248
176
  },
249
177
  [Tag.NameserviceMtree]: {
250
- 1: [...BASE_TX, ['mtree', FIELD_TYPES.rlpBinary]]
178
+ 1: [['tag', shortUIntConst(Tag.NameserviceMtree)], ['version', shortUIntConst(1)], ['mtree', entry()]]
251
179
  },
252
180
  [Tag.OraclesMtree]: {
253
- 1: [...BASE_TX, ['otree', FIELD_TYPES.rlpBinary]]
181
+ 1: [['tag', shortUIntConst(Tag.OraclesMtree)], ['version', shortUIntConst(1)], ['otree', entry()]]
254
182
  },
255
183
  [Tag.AccountsMtree]: {
256
- 1: [...BASE_TX, ['accounts', FIELD_TYPES.rlpBinary]]
184
+ 1: [['tag', shortUIntConst(Tag.AccountsMtree)], ['version', shortUIntConst(1)], ['accounts', entry()]]
257
185
  },
258
186
  [Tag.GaAttachTx]: {
259
- 1: [...BASE_TX, ['ownerId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['code', FIELD_TYPES.binary, Encoding.ContractBytearray], ['authFun', FIELD_TYPES.rawBinary], ['ctVersion', FIELD_TYPES.ctVersion], ['fee', fee], ['ttl', shortUInt], ['gasLimit', gasLimit], ['gasPrice', gasPrice], ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray]]
187
+ 1: [['tag', shortUIntConst(Tag.GaAttachTx)], ['version', shortUIntConst(1)], ['ownerId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['code', encoded(Encoding.ContractBytearray)], ['authFun', raw], ['ctVersion', ctVersion], ['fee', fee], ['ttl', shortUInt], ['gasLimit', gasLimit], ['gasPrice', gasPrice], ['callData', encoded(Encoding.ContractBytearray)]]
260
188
  },
261
189
  [Tag.GaMetaTx]: {
262
- 2: [...BASE_TX, ['gaId', FIELD_TYPES.id, Encoding.AccountAddress], ['authData', FIELD_TYPES.binary, Encoding.ContractBytearray], ['abiVersion', FIELD_TYPES.abiVersion], ['fee', fee], ['gasLimit', gasLimit], ['gasPrice', gasPrice], ['tx', FIELD_TYPES.rlpBinary]]
190
+ 2: [['tag', shortUIntConst(Tag.GaMetaTx)], ['version', shortUIntConst(2)], ['gaId', address(Encoding.AccountAddress)], ['authData', encoded(Encoding.ContractBytearray)], ['abiVersion', abiVersion], ['fee', fee], ['gasLimit', gasLimit], ['gasPrice', gasPrice], ['tx', entry()]]
263
191
  },
264
192
  [Tag.PayingForTx]: {
265
- 1: [...BASE_TX, ['payerId', FIELD_TYPES.id, Encoding.AccountAddress], ['nonce', shortUInt], ['fee', fee], ['tx', FIELD_TYPES.rlpBinary]]
266
- },
267
- [Tag.CompilerSophia]: {
268
- 3: [...BASE_TX, ['sourceCodeHash', FIELD_TYPES.rawBinary], ['typeInfo', FIELD_TYPES.sophiaCodeTypeInfo], ['byteCode', FIELD_TYPES.rawBinary], ['compilerVersion', FIELD_TYPES.string], ['payable', FIELD_TYPES.bool]]
193
+ 1: [['tag', shortUIntConst(Tag.PayingForTx)], ['version', shortUIntConst(1)], ['payerId', address(Encoding.AccountAddress)], ['nonce', shortUInt], ['fee', fee], ['tx', entry()]]
269
194
  }
270
195
  };
271
196
  //# sourceMappingURL=schema.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.mjs","names":["Tag","uInt","shortUInt","coinAmount","name","nameId","nameFee","deposit","gasLimit","gasPrice","fee","Encoding","ORACLE_TTL_TYPES","TX_TTL","QUERY_FEE","ORACLE_TTL","type","delta","value","QUERY_TTL","RESPONSE_TTL","AMOUNT","MAX_AUTH_FUN_GAS","DRY_RUN_ACCOUNT","pub","amount","VM_VERSIONS","ABI_VERSIONS","PROTOCOL_VERSIONS","PROTOCOL_VM_ABI","IRIS","ContractCreateTx","vmVersion","FATE_2","abiVersion","FATE","ContractCallTx","SOPHIA","OracleRegisterTx","NO_ABI","FIELD_TYPES","BASE_TX","TX_SCHEMA","Account","id","ContractAddress","Name","binary","ContractBytearray","SignedTx","signatures","rlpBinary","SpendTx","AccountAddress","payload","NamePreclaimTx","Commitment","NameClaimTx","NameUpdateTx","pointers","NameTransferTx","NameRevokeTx","Contract","ctVersion","bool","ids","ContractCall","callReturnType","rawBinary","string","ttlType","OracleExtendTx","OracleAddress","OracleQueryTx","OracleResponseTx","OracleQueryId","ChannelCreateTx","ChannelCloseMutualTx","Channel","ChannelCloseSoloTx","ChannelSlashTx","ChannelDepositTx","ChannelWithdrawTx","ChannelSettleTx","ChannelForceProgressTx","stateTree","ChannelOffChainTx","hex","ChannelSnapshotSoloTx","ChannelOffChainUpdateTransfer","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateCallContract","callStack","ChannelClientReconnectTx","TreesPoi","mptrees","StateTrees","Mtree","rlpBinaries","MtreeValue","ContractsMtree","CallsMtree","ChannelsMtree","NameserviceMtree","OraclesMtree","AccountsMtree","GaAttachTx","GaMetaTx","PayingForTx","CompilerSophia","sophiaCodeTypeInfo"],"sources":["../../../src/tx/builder/schema.ts"],"sourcesContent":["/**\n * Transaction Schema for TxBuilder\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport BigNumber from 'bignumber.js';\nimport { Tag } from './constants';\nimport {\n Field, uInt, shortUInt, coinAmount, name, nameId, nameFee, deposit, gasLimit, gasPrice, fee,\n} from './field-types';\nimport { Encoded, Encoding } from '../../utils/encoder';\nimport MPTree from '../../utils/mptree';\nimport { NamePointer } from '../../apis/node';\n\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1,\n}\n\n// # TRANSACTION DEFAULT TTL\nexport const TX_TTL = 0;\n// # ORACLE\nexport const QUERY_FEE = 30000;\nexport const ORACLE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 500 };\nexport const QUERY_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };\nexport const RESPONSE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };\n// # CONTRACT\nexport const AMOUNT = 0;\nexport const MAX_AUTH_FUN_GAS = 50000;\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n,\n} as const;\n\nexport type TxField = [\n name: string,\n type: FIELD_TYPES | Field,\n prefix?: Encoding | Encoding[],\n];\n\n/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum 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\n/**\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum ABI_VERSIONS {\n NO_ABI = 0,\n SOPHIA = 1,\n FATE = 3,\n}\n\n/**\n * @category transaction builder\n */\nexport enum PROTOCOL_VERSIONS {\n IRIS = 5,\n}\n\n// First abi/vm by default\nexport const PROTOCOL_VM_ABI = {\n [PROTOCOL_VERSIONS.IRIS]: {\n [Tag.ContractCreateTx]: {\n vmVersion: [VM_VERSIONS.FATE_2], abiVersion: [ABI_VERSIONS.FATE],\n },\n // TODO: Ensure that AEVM (SOPHIA?) is still available here\n [Tag.ContractCallTx]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA],\n },\n [Tag.OracleRegisterTx]: {\n vmVersion: [], abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA],\n },\n },\n} as const;\n\ntype PrefixType<Prefix> = Prefix extends Encoding\n ? Encoded.Generic<Prefix>\n : Prefix extends readonly Encoding[]\n ? Encoded.Generic<Prefix[number]>\n : Encoded.Generic<any>;\n\n/**\n * @category transaction builder\n */\nexport interface CtVersion {\n vmVersion: VM_VERSIONS;\n abiVersion: ABI_VERSIONS;\n}\n\n/**\n * @category transaction builder\n */\nexport enum FIELD_TYPES {\n id,\n ids,\n string,\n binary,\n bool,\n hex,\n rlpBinary,\n rlpBinaries,\n rawBinary,\n signatures,\n pointers,\n offChainUpdates,\n callStack,\n proofOfInclusion,\n mptrees,\n callReturnType,\n ctVersion,\n abiVersion,\n ttlType,\n sophiaCodeTypeInfo,\n payload,\n stateTree,\n}\n\ninterface BuildFieldTypes<Prefix extends undefined | Encoding | readonly Encoding[]> {\n [FIELD_TYPES.id]: PrefixType<Prefix>;\n [FIELD_TYPES.ids]: Array<Encoded.Generic<Prefix extends Encoding[] ? Prefix : any>>;\n [FIELD_TYPES.string]: string;\n [FIELD_TYPES.binary]: PrefixType<Prefix>;\n [FIELD_TYPES.bool]: Boolean;\n [FIELD_TYPES.hex]: string;\n [FIELD_TYPES.rlpBinary]: any;\n [FIELD_TYPES.rlpBinaries]: any[];\n [FIELD_TYPES.rawBinary]: Uint8Array;\n [FIELD_TYPES.signatures]: Uint8Array[];\n [FIELD_TYPES.pointers]: NamePointer[];\n [FIELD_TYPES.offChainUpdates]: any;\n [FIELD_TYPES.callStack]: any;\n [FIELD_TYPES.proofOfInclusion]: any;\n [FIELD_TYPES.mptrees]: MPTree[];\n [FIELD_TYPES.callReturnType]: any;\n [FIELD_TYPES.ctVersion]: CtVersion;\n [FIELD_TYPES.abiVersion]: ABI_VERSIONS;\n [FIELD_TYPES.ttlType]: ORACLE_TTL_TYPES;\n [FIELD_TYPES.sophiaCodeTypeInfo]: any;\n [FIELD_TYPES.payload]: string | undefined;\n [FIELD_TYPES.stateTree]: any;\n}\n\n// based on https://stackoverflow.com/a/50375286/6176994\ntype UnionToIntersection<Union> =\n (Union extends any ? (k: Union) => void : never) extends ((k: infer Intersection) => void)\n ? Intersection : never;\n\ntype TxElem = readonly [string, FIELD_TYPES | Field]\n| readonly [string, FIELD_TYPES, Encoding | readonly Encoding[]];\n\ntype BuildTxArgBySchemaType<\n Type extends FIELD_TYPES | Field,\n Prefix extends undefined | Encoding | readonly Encoding[],\n> =\n Type extends Field\n ? Parameters<Type['serialize']>[0]\n : Type extends FIELD_TYPES\n ? BuildFieldTypes<Prefix>[Type]\n : never;\n\ntype NullablePartial<\n T,\n NK extends keyof T = { [K in keyof T]: undefined extends T[K] ? K : never }[keyof T],\n> = Partial<Pick<T, NK>> & Omit<T, NK>;\n\ntype BuildTxArgBySchema<SchemaLine> =\n UnionToIntersection<\n SchemaLine extends ReadonlyArray<infer Elem>\n ? Elem extends TxElem\n ? NullablePartial<{ [k in Elem[0]]: BuildTxArgBySchemaType<Elem[1], Elem[2]> }>\n : never\n : never\n >;\n\nexport type RawTxObject<Tx extends TxSchema> = {\n [k in keyof Tx]-?: Tx[k] extends BigNumber ? string : Tx[k]\n};\n\nconst BASE_TX = [\n ['tag', shortUInt],\n ['VSN', shortUInt],\n] as const;\n\nexport const TX_SCHEMA = {\n [Tag.Account]: {\n 1: [\n ...BASE_TX,\n ['nonce', shortUInt],\n ['balance', uInt],\n ],\n 2: [\n ...BASE_TX,\n ['flags', uInt],\n ['nonce', shortUInt],\n ['balance', uInt],\n ['gaContract', FIELD_TYPES.id, [Encoding.ContractAddress, Encoding.Name]],\n ['gaAuthFun', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.SignedTx]: {\n 1: [\n ...BASE_TX,\n ['signatures', FIELD_TYPES.signatures],\n ['encodedTx', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.SpendTx]: {\n 1: [\n ...BASE_TX,\n ['senderId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['recipientId', FIELD_TYPES.id, [Encoding.AccountAddress, Encoding.Name]],\n ['amount', coinAmount],\n ['fee', fee],\n ['ttl', shortUInt],\n ['nonce', shortUInt],\n ['payload', FIELD_TYPES.payload],\n ],\n },\n [Tag.NamePreclaimTx]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['commitmentId', FIELD_TYPES.id, Encoding.Commitment],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameClaimTx]: {\n 2: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['name', name],\n ['nameSalt', uInt],\n ['nameFee', nameFee],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameUpdateTx]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['nameId', nameId],\n ['nameTtl', uInt],\n ['pointers', FIELD_TYPES.pointers],\n ['clientTtl', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameTransferTx]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['nameId', nameId],\n ['recipientId', FIELD_TYPES.id, [Encoding.AccountAddress, Encoding.Name]],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameRevokeTx]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['nameId', nameId],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.Contract]: {\n 1: [\n ...BASE_TX,\n ['owner', FIELD_TYPES.id, Encoding.AccountAddress],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['log', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['active', FIELD_TYPES.bool],\n ['referers', FIELD_TYPES.ids, Encoding.AccountAddress],\n ['deposit', deposit],\n ],\n },\n [Tag.ContractCreateTx]: {\n 1: [\n ...BASE_TX,\n ['ownerId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['deposit', deposit],\n ['amount', coinAmount],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.ContractCallTx]: {\n 1: [\n ...BASE_TX,\n ['callerId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['contractId', FIELD_TYPES.id, [Encoding.ContractAddress, Encoding.Name]],\n ['abiVersion', FIELD_TYPES.abiVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['amount', coinAmount],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.ContractCall]: {\n 1: [\n ...BASE_TX,\n ['callerId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['callerNonce', shortUInt],\n ['height', shortUInt],\n ['contractId', FIELD_TYPES.id, Encoding.ContractAddress],\n ['gasPrice', gasPrice],\n ['gasUsed', shortUInt],\n ['returnValue', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['returnType', FIELD_TYPES.callReturnType],\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]\n ['log', FIELD_TYPES.rawBinary],\n ],\n },\n [Tag.OracleRegisterTx]: {\n 1: [\n ...BASE_TX,\n ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['queryFormat', FIELD_TYPES.string],\n ['responseFormat', FIELD_TYPES.string],\n ['queryFee', coinAmount],\n ['oracleTtlType', FIELD_TYPES.ttlType],\n ['oracleTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ['abiVersion', FIELD_TYPES.abiVersion],\n ],\n },\n [Tag.OracleExtendTx]: {\n 1: [\n ...BASE_TX,\n ['oracleId', FIELD_TYPES.id, [Encoding.OracleAddress, Encoding.Name]],\n ['nonce', shortUInt],\n ['oracleTtlType', FIELD_TYPES.ttlType],\n ['oracleTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.OracleQueryTx]: {\n 1: [\n ...BASE_TX,\n ['senderId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['oracleId', FIELD_TYPES.id, [Encoding.OracleAddress, Encoding.Name]],\n ['query', FIELD_TYPES.string],\n ['queryFee', coinAmount],\n ['queryTtlType', FIELD_TYPES.ttlType],\n ['queryTtlValue', shortUInt],\n ['responseTtlType', FIELD_TYPES.ttlType],\n ['responseTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.OracleResponseTx]: {\n 1: [\n ...BASE_TX,\n ['oracleId', FIELD_TYPES.id, Encoding.OracleAddress],\n ['nonce', shortUInt],\n ['queryId', FIELD_TYPES.binary, Encoding.OracleQueryId],\n ['response', FIELD_TYPES.string],\n ['responseTtlType', FIELD_TYPES.ttlType],\n ['responseTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.ChannelCreateTx]: {\n 2: [\n ...BASE_TX,\n ['initiator', FIELD_TYPES.id, Encoding.AccountAddress],\n ['initiatorAmount', uInt],\n ['responder', FIELD_TYPES.id, Encoding.AccountAddress],\n ['responderAmount', uInt],\n ['channelReserve', uInt],\n ['lockPeriod', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['initiatorDelegateIds', FIELD_TYPES.string],\n ['responderDelegateIds', FIELD_TYPES.string],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelCloseMutualTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, Encoding.Channel],\n ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['initiatorAmountFinal', uInt],\n ['responderAmountFinal', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelCloseSoloTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, Encoding.Channel],\n ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['poi', FIELD_TYPES.binary, 'pi'],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelSlashTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, Encoding.Channel],\n ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['poi', FIELD_TYPES.binary, 'pi'],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelDepositTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, Encoding.Channel],\n ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['amount', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['round', shortUInt],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelWithdrawTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, Encoding.Channel],\n ['toId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['amount', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['round', shortUInt],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelSettleTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, Encoding.Channel],\n ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['initiatorAmountFinal', uInt],\n ['responderAmountFinal', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelForceProgressTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, Encoding.Channel],\n ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['round', shortUInt],\n ['update', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ['offChainTrees', FIELD_TYPES.stateTree],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelOffChainTx]: {\n 2: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, Encoding.Channel],\n ['round', shortUInt],\n ['stateHash', FIELD_TYPES.binary, 'st'],\n ],\n },\n [Tag.Channel]: {\n 3: [\n ...BASE_TX,\n ['initiator', FIELD_TYPES.id, Encoding.AccountAddress],\n ['responder', FIELD_TYPES.id, Encoding.AccountAddress],\n ['channelAmount', uInt],\n ['initiatorAmount', uInt],\n ['responderAmount', uInt],\n ['channelReserve', uInt],\n ['initiatorDelegateIds', FIELD_TYPES.ids],\n ['responderDelegateIds', FIELD_TYPES.ids],\n ['stateHash', FIELD_TYPES.hex],\n ['round', shortUInt],\n ['soloRound', uInt],\n ['lockPeriod', uInt],\n ['lockedUntil', uInt],\n ['initiatorAuth', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['responderAuth', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.ChannelSnapshotSoloTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, Encoding.Channel],\n ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['payload', FIELD_TYPES.binary, 'tx'],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelOffChainUpdateTransfer]: {\n 1: [\n ...BASE_TX,\n ['from', FIELD_TYPES.id, Encoding.AccountAddress],\n ['to', FIELD_TYPES.id, Encoding.AccountAddress],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateDeposit]: {\n 1: [\n ...BASE_TX,\n ['from', FIELD_TYPES.id, Encoding.AccountAddress],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateWithdraw]: {\n 1: [\n ...BASE_TX,\n ['from', FIELD_TYPES.id, Encoding.AccountAddress],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateCreateContract]: {\n 1: [\n ...BASE_TX,\n ['owner', FIELD_TYPES.id, Encoding.AccountAddress],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['deposit', uInt],\n ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.ChannelOffChainUpdateCallContract]: {\n 1: [\n ...BASE_TX,\n ['caller', FIELD_TYPES.id, Encoding.AccountAddress],\n ['contract', FIELD_TYPES.id, Encoding.ContractAddress],\n ['abiVersion', FIELD_TYPES.abiVersion],\n ['amount', uInt],\n ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['callStack', FIELD_TYPES.callStack],\n ['gasPrice', gasPrice],\n ['gasLimit', gasLimit],\n ],\n },\n [Tag.ChannelClientReconnectTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', FIELD_TYPES.id, Encoding.Channel],\n ['round', shortUInt],\n ['role', FIELD_TYPES.string],\n ['pubkey', FIELD_TYPES.id, Encoding.AccountAddress],\n ],\n },\n [Tag.TreesPoi]: {\n 1: [\n ...BASE_TX,\n ['accounts', FIELD_TYPES.mptrees],\n ['calls', FIELD_TYPES.mptrees],\n ['channels', FIELD_TYPES.mptrees],\n ['contracts', FIELD_TYPES.mptrees],\n ['ns', FIELD_TYPES.mptrees],\n ['oracles', FIELD_TYPES.mptrees],\n ],\n },\n [Tag.StateTrees]: {\n 1: [\n ...BASE_TX,\n ['contracts', FIELD_TYPES.rlpBinary],\n ['calls', FIELD_TYPES.rlpBinary],\n ['channels', FIELD_TYPES.rlpBinary],\n ['ns', FIELD_TYPES.rlpBinary],\n ['oracles', FIELD_TYPES.rlpBinary],\n ['accounts', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.Mtree]: {\n 1: [\n ...BASE_TX,\n ['values', FIELD_TYPES.rlpBinaries],\n ],\n },\n [Tag.MtreeValue]: {\n 1: [\n ...BASE_TX,\n ['key', FIELD_TYPES.hex],\n ['value', FIELD_TYPES.rawBinary],\n ],\n },\n [Tag.ContractsMtree]: {\n 1: [\n ...BASE_TX,\n ['contracts', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.CallsMtree]: {\n 1: [\n ...BASE_TX,\n ['calls', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.ChannelsMtree]: {\n 1: [\n ...BASE_TX,\n ['channels', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.NameserviceMtree]: {\n 1: [\n ...BASE_TX,\n ['mtree', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.OraclesMtree]: {\n 1: [\n ...BASE_TX,\n ['otree', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.AccountsMtree]: {\n 1: [\n ...BASE_TX,\n ['accounts', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.GaAttachTx]: {\n 1: [\n ...BASE_TX,\n ['ownerId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['authFun', FIELD_TYPES.rawBinary],\n ['ctVersion', FIELD_TYPES.ctVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ],\n },\n [Tag.GaMetaTx]: {\n 2: [\n ...BASE_TX,\n ['gaId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['authData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['abiVersion', FIELD_TYPES.abiVersion],\n ['fee', fee],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['tx', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.PayingForTx]: {\n 1: [\n ...BASE_TX,\n ['payerId', FIELD_TYPES.id, Encoding.AccountAddress],\n ['nonce', shortUInt],\n ['fee', fee],\n ['tx', FIELD_TYPES.rlpBinary],\n ],\n },\n [Tag.CompilerSophia]: {\n 3: [\n ...BASE_TX,\n ['sourceCodeHash', FIELD_TYPES.rawBinary],\n ['typeInfo', FIELD_TYPES.sophiaCodeTypeInfo],\n ['byteCode', FIELD_TYPES.rawBinary],\n ['compilerVersion', FIELD_TYPES.string],\n ['payable', FIELD_TYPES.bool],\n ],\n },\n} as const;\n\nexport type TxTypeSchemas = {\n [key in Tag]: BuildTxArgBySchema<\n typeof TX_SCHEMA[key][keyof typeof TX_SCHEMA[key]]\n >\n};\n\nexport type TxSchema = TxTypeSchemas[Tag];\nexport type TxParamsCommon = Partial<UnionToIntersection<TxSchema>>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"schema.mjs","names":["Tag","uInt","shortUInt","coinAmount","name","nameId","nameFee","deposit","gasLimit","gasPrice","fee","address","pointers","entry","enumeration","mptree","shortUIntConst","string","encoded","raw","array","boolean","ctVersion","abiVersion","Encoding","idTagToEncoding","ORACLE_TTL_TYPES","TX_TTL","QUERY_FEE","ORACLE_TTL","type","delta","value","QUERY_TTL","RESPONSE_TTL","DRY_RUN_ACCOUNT","pub","amount","CallReturnType","TX_SCHEMA","Account","ContractAddress","Name","ContractBytearray","SignedTx","SpendTx","AccountAddress","Bytearray","NamePreclaimTx","Commitment","NameClaimTx","NameUpdateTx","NameTransferTx","NameRevokeTx","Contract","ContractCreateTx","ContractCallTx","ContractCall","Oracle","OracleRegisterTx","OracleExtendTx","OracleAddress","OracleQueryTx","OracleResponseTx","OracleQueryId","ChannelCreateTx","State","ChannelCloseMutualTx","Channel","ChannelCloseSoloTx","Transaction","TreesPoi","ChannelSlashTx","ChannelDepositTx","ChannelWithdrawTx","ChannelSettleTx","ChannelForceProgressTx","StateTrees","ChannelOffChainTx","ChannelSnapshotSoloTx","ChannelOffChainUpdateTransfer","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateCallContract","ChannelClientReconnectTx","Mtree","MtreeValue","ContractsMtree","CallsMtree","ChannelsMtree","NameserviceMtree","OraclesMtree","AccountsMtree","GaAttachTx","GaMetaTx","PayingForTx"],"sources":["../../../src/tx/builder/schema.ts"],"sourcesContent":["/**\n * Transaction Schema for TxBuilder\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport BigNumber from 'bignumber.js';\nimport { Tag } from './constants';\nimport {\n Field, uInt, shortUInt, coinAmount, name, nameId, nameFee, deposit, gasLimit, gasPrice, fee,\n address, pointers, entry, enumeration, mptree, shortUIntConst, string, encoded, raw,\n array, boolean, ctVersion, abiVersion,\n} from './field-types';\nimport { Encoding } from '../../utils/encoder';\nimport { UnionToIntersection } from '../../utils/other';\nimport { idTagToEncoding } from './field-types/address';\n\nexport enum ORACLE_TTL_TYPES {\n delta = 0,\n block = 1,\n}\n\n// # TRANSACTION DEFAULT TTL\nexport const TX_TTL = 0;\n// # ORACLE\nexport const QUERY_FEE = 30000;\nexport const ORACLE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 500 };\nexport const QUERY_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };\nexport const RESPONSE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };\n// # CONTRACT\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n,\n} as const;\n\nexport type TxField = [\n name: string,\n type: Field,\n];\n\nexport enum CallReturnType {\n Ok = 0,\n Error = 1,\n Revert = 2,\n}\n\ntype TxElem = readonly [string, Field];\n\ntype BuildTxArgBySchemaType<Type extends Field> = Parameters<Type['serialize']>[0];\n\ntype NullablePartial<\n T,\n NK extends keyof T = { [K in keyof T]: undefined extends T[K] ? K : never }[keyof T],\n> = Partial<Pick<T, NK>> & Omit<T, NK>;\n\ntype BuildTxArgBySchema<SchemaLine> =\n UnionToIntersection<\n SchemaLine extends ReadonlyArray<infer Elem>\n ? Elem extends TxElem\n ? NullablePartial<{ [k in Elem[0]]: BuildTxArgBySchemaType<Elem[1]> }>\n : never\n : never\n >;\n\nexport type RawTxObject<Tx extends TxSchema> = {\n [k in keyof Tx]-?: Tx[k] extends BigNumber ? string : Tx[k]\n};\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}\n */\nexport const TX_SCHEMA = {\n [Tag.Account]: {\n 1: [\n ['tag', shortUIntConst(Tag.Account)],\n ['version', shortUIntConst(1)],\n ['nonce', shortUInt],\n ['balance', uInt],\n ],\n 2: [\n ['tag', shortUIntConst(Tag.Account)],\n ['version', shortUIntConst(2)],\n ['flags', uInt],\n ['nonce', shortUInt],\n ['balance', uInt],\n ['gaContract', address(Encoding.ContractAddress, Encoding.Name)],\n ['gaAuthFun', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.SignedTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.SignedTx)],\n ['version', shortUIntConst(1)],\n ['signatures', array(raw)],\n ['encodedTx', entry()],\n ],\n },\n [Tag.SpendTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.SpendTx)],\n ['version', shortUIntConst(1)],\n ['senderId', address(Encoding.AccountAddress)],\n ['recipientId', address(Encoding.AccountAddress, Encoding.Name)],\n ['amount', coinAmount],\n ['fee', fee],\n ['ttl', shortUInt],\n ['nonce', shortUInt],\n ['payload', encoded(Encoding.Bytearray, true)],\n ],\n },\n [Tag.Name]: {\n 1: [\n ['tag', shortUIntConst(Tag.Name)],\n ['version', shortUIntConst(1)],\n ['accountId', address(Encoding.AccountAddress)],\n ['nameTtl', shortUInt],\n ['status', raw],\n ['clientTtl', shortUInt],\n ['pointers', pointers],\n ],\n },\n [Tag.NamePreclaimTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.NamePreclaimTx)],\n ['version', shortUIntConst(1)],\n ['accountId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['commitmentId', address(Encoding.Commitment)],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameClaimTx]: {\n 2: [\n ['tag', shortUIntConst(Tag.NameClaimTx)],\n ['version', shortUIntConst(2)],\n ['accountId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['name', name],\n ['nameSalt', uInt],\n ['nameFee', nameFee],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameUpdateTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.NameUpdateTx)],\n ['version', shortUIntConst(1)],\n ['accountId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['nameId', nameId],\n ['nameTtl', shortUInt],\n ['pointers', pointers],\n ['clientTtl', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameTransferTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.NameTransferTx)],\n ['version', shortUIntConst(1)],\n ['accountId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['nameId', nameId],\n ['recipientId', address(Encoding.AccountAddress, Encoding.Name)],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.NameRevokeTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.NameRevokeTx)],\n ['version', shortUIntConst(1)],\n ['accountId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['nameId', nameId],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.Contract]: {\n 1: [\n ['tag', shortUIntConst(Tag.Contract)],\n ['version', shortUIntConst(1)],\n ['owner', address(Encoding.AccountAddress)],\n ['ctVersion', ctVersion],\n ['code', encoded(Encoding.ContractBytearray)],\n ['log', encoded(Encoding.ContractBytearray)],\n ['active', boolean],\n ['referers', array(address(Encoding.AccountAddress))],\n ['deposit', deposit],\n ],\n },\n [Tag.ContractCreateTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ContractCreateTx)],\n ['version', shortUIntConst(1)],\n ['ownerId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['code', encoded(Encoding.ContractBytearray)],\n ['ctVersion', ctVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['deposit', deposit],\n ['amount', coinAmount],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.ContractCallTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ContractCallTx)],\n ['version', shortUIntConst(1)],\n ['callerId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['contractId', address(Encoding.ContractAddress, Encoding.Name)],\n ['abiVersion', abiVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['amount', coinAmount],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.ContractCall]: {\n 1: [\n ['tag', shortUIntConst(Tag.ContractCall)],\n ['version', shortUIntConst(1)],\n ['callerId', address(Encoding.AccountAddress)],\n ['callerNonce', shortUInt],\n ['height', shortUInt],\n ['contractId', address(Encoding.ContractAddress)],\n ['gasPrice', gasPrice],\n ['gasUsed', shortUInt],\n ['returnValue', encoded(Encoding.ContractBytearray)],\n ['returnType', enumeration(CallReturnType)],\n // TODO: add serialization for\n // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]\n ['log', raw],\n ],\n },\n [Tag.Oracle]: {\n 1: [\n ['tag', shortUIntConst(Tag.Oracle)],\n ['version', shortUIntConst(1)],\n ['accountId', address(Encoding.AccountAddress)],\n ['queryFormat', string],\n ['responseFormat', string],\n ['queryFee', coinAmount],\n ['oracleTtlValue', shortUInt],\n ['abiVersion', abiVersion],\n ],\n },\n [Tag.OracleRegisterTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.OracleRegisterTx)],\n ['version', shortUIntConst(1)],\n ['accountId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['queryFormat', string],\n ['responseFormat', string],\n ['queryFee', coinAmount],\n ['oracleTtlType', enumeration(ORACLE_TTL_TYPES)],\n ['oracleTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ['abiVersion', abiVersion],\n ],\n },\n [Tag.OracleExtendTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.OracleExtendTx)],\n ['version', shortUIntConst(1)],\n ['oracleId', address(Encoding.OracleAddress, Encoding.Name)],\n ['nonce', shortUInt],\n ['oracleTtlType', enumeration(ORACLE_TTL_TYPES)],\n ['oracleTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.OracleQueryTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.OracleQueryTx)],\n ['version', shortUIntConst(1)],\n ['senderId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['oracleId', address(Encoding.OracleAddress, Encoding.Name)],\n ['query', string],\n ['queryFee', coinAmount],\n ['queryTtlType', enumeration(ORACLE_TTL_TYPES)],\n ['queryTtlValue', shortUInt],\n ['responseTtlType', enumeration(ORACLE_TTL_TYPES)],\n ['responseTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.OracleResponseTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.OracleResponseTx)],\n ['version', shortUIntConst(1)],\n ['oracleId', address(Encoding.OracleAddress)],\n ['nonce', shortUInt],\n ['queryId', encoded(Encoding.OracleQueryId)],\n ['response', string],\n ['responseTtlType', enumeration(ORACLE_TTL_TYPES)],\n ['responseTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.ChannelCreateTx]: {\n 2: [\n ['tag', shortUIntConst(Tag.ChannelCreateTx)],\n ['version', shortUIntConst(2)],\n ['initiator', address(Encoding.AccountAddress)],\n ['initiatorAmount', uInt],\n ['responder', address(Encoding.AccountAddress)],\n ['responderAmount', uInt],\n ['channelReserve', uInt],\n ['lockPeriod', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['initiatorDelegateIds', array(address(...idTagToEncoding))],\n ['responderDelegateIds', array(address(...idTagToEncoding))],\n ['stateHash', encoded(Encoding.State)],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelCloseMutualTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelCloseMutualTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['initiatorAmountFinal', uInt],\n ['responderAmountFinal', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelCloseSoloTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelCloseSoloTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['payload', encoded(Encoding.Transaction)],\n ['poi', entry(Tag.TreesPoi)],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelSlashTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelSlashTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['payload', encoded(Encoding.Transaction)],\n ['poi', entry(Tag.TreesPoi)],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelDepositTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelDepositTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['amount', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['stateHash', encoded(Encoding.State)],\n ['round', shortUInt],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelWithdrawTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelWithdrawTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['toId', address(Encoding.AccountAddress)],\n ['amount', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['stateHash', encoded(Encoding.State)],\n ['round', shortUInt],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelSettleTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelSettleTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['initiatorAmountFinal', uInt],\n ['responderAmountFinal', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelForceProgressTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelForceProgressTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['payload', encoded(Encoding.Transaction)],\n ['round', shortUInt],\n ['update', encoded(Encoding.ContractBytearray)],\n ['stateHash', encoded(Encoding.State)],\n ['offChainTrees', encoded(Encoding.StateTrees)],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelOffChainTx]: {\n 2: [\n ['tag', shortUIntConst(Tag.ChannelOffChainTx)],\n ['version', shortUIntConst(2)],\n ['channelId', address(Encoding.Channel)],\n ['round', shortUInt],\n ['stateHash', encoded(Encoding.State)],\n ],\n },\n [Tag.Channel]: {\n 3: [\n ['tag', shortUIntConst(Tag.Channel)],\n ['version', shortUIntConst(3)],\n ['initiator', address(Encoding.AccountAddress)],\n ['responder', address(Encoding.AccountAddress)],\n ['channelAmount', uInt],\n ['initiatorAmount', uInt],\n ['responderAmount', uInt],\n ['channelReserve', uInt],\n ['initiatorDelegateIds', array(address(...idTagToEncoding))],\n ['responderDelegateIds', array(address(...idTagToEncoding))],\n ['stateHash', encoded(Encoding.State)],\n ['round', shortUInt],\n ['soloRound', uInt],\n ['lockPeriod', uInt],\n ['lockedUntil', uInt],\n ['initiatorAuth', encoded(Encoding.ContractBytearray)],\n ['responderAuth', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.ChannelSnapshotSoloTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelSnapshotSoloTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['fromId', address(Encoding.AccountAddress)],\n ['payload', encoded(Encoding.Transaction)],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelOffChainUpdateTransfer]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelOffChainUpdateTransfer)],\n ['version', shortUIntConst(1)],\n ['from', address(Encoding.AccountAddress)],\n ['to', address(Encoding.AccountAddress)],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateDeposit]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelOffChainUpdateDeposit)],\n ['version', shortUIntConst(1)],\n ['from', address(Encoding.AccountAddress)],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateWithdraw]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelOffChainUpdateWithdraw)],\n ['version', shortUIntConst(1)],\n ['from', address(Encoding.AccountAddress)],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateCreateContract]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelOffChainUpdateCreateContract)],\n ['version', shortUIntConst(1)],\n ['owner', address(Encoding.AccountAddress)],\n ['ctVersion', ctVersion],\n ['code', encoded(Encoding.ContractBytearray)],\n ['deposit', uInt],\n ['callData', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.ChannelOffChainUpdateCallContract]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelOffChainUpdateCallContract)],\n ['version', shortUIntConst(1)],\n ['caller', address(Encoding.AccountAddress)],\n ['contract', address(Encoding.ContractAddress)],\n ['abiVersion', abiVersion],\n ['amount', uInt],\n ['callData', encoded(Encoding.ContractBytearray)],\n ['callStack', raw],\n ['gasPrice', gasPrice],\n ['gasLimit', gasLimit],\n ],\n },\n [Tag.ChannelClientReconnectTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelClientReconnectTx)],\n ['version', shortUIntConst(1)],\n ['channelId', address(Encoding.Channel)],\n ['round', shortUInt],\n ['role', string],\n ['pubkey', address(Encoding.AccountAddress)],\n ],\n },\n [Tag.TreesPoi]: {\n 1: [\n ['tag', shortUIntConst(Tag.TreesPoi)],\n ['version', shortUIntConst(1)],\n ['accounts', array(mptree(Encoding.AccountAddress, Tag.Account))],\n ['calls', array(mptree(Encoding.Bytearray, Tag.ContractCall))],\n ['channels', array(mptree(Encoding.Channel, Tag.Channel))],\n ['contracts', array(mptree(Encoding.ContractAddress, Tag.Contract))],\n ['ns', array(mptree(Encoding.Name, Tag.Name))],\n ['oracles', array(mptree(Encoding.OracleAddress, Tag.Oracle))],\n ],\n },\n [Tag.StateTrees]: {\n 1: [\n ['tag', shortUIntConst(Tag.StateTrees)],\n ['version', shortUIntConst(1)],\n ['contracts', entry()],\n ['calls', entry()],\n ['channels', entry()],\n ['ns', entry()],\n ['oracles', entry()],\n ['accounts', entry()],\n ],\n },\n [Tag.Mtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.Mtree)],\n ['version', shortUIntConst(1)],\n ['values', array(entry())],\n ],\n },\n [Tag.MtreeValue]: {\n 1: [\n ['tag', shortUIntConst(Tag.MtreeValue)],\n ['version', shortUIntConst(1)],\n ['key', raw],\n ['value', raw],\n ],\n },\n [Tag.ContractsMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.ContractsMtree)],\n ['version', shortUIntConst(1)],\n ['contracts', entry()],\n ],\n },\n [Tag.CallsMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.CallsMtree)],\n ['version', shortUIntConst(1)],\n ['calls', entry()],\n ],\n },\n [Tag.ChannelsMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.ChannelsMtree)],\n ['version', shortUIntConst(1)],\n ['channels', entry()],\n ],\n },\n [Tag.NameserviceMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.NameserviceMtree)],\n ['version', shortUIntConst(1)],\n ['mtree', entry()],\n ],\n },\n [Tag.OraclesMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.OraclesMtree)],\n ['version', shortUIntConst(1)],\n ['otree', entry()],\n ],\n },\n [Tag.AccountsMtree]: {\n 1: [\n ['tag', shortUIntConst(Tag.AccountsMtree)],\n ['version', shortUIntConst(1)],\n ['accounts', entry()],\n ],\n },\n [Tag.GaAttachTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.GaAttachTx)],\n ['version', shortUIntConst(1)],\n ['ownerId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['code', encoded(Encoding.ContractBytearray)],\n ['authFun', raw],\n ['ctVersion', ctVersion],\n ['fee', fee],\n ['ttl', shortUInt],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['callData', encoded(Encoding.ContractBytearray)],\n ],\n },\n [Tag.GaMetaTx]: {\n 2: [\n ['tag', shortUIntConst(Tag.GaMetaTx)],\n ['version', shortUIntConst(2)],\n ['gaId', address(Encoding.AccountAddress)],\n ['authData', encoded(Encoding.ContractBytearray)],\n ['abiVersion', abiVersion],\n ['fee', fee],\n ['gasLimit', gasLimit],\n ['gasPrice', gasPrice],\n ['tx', entry()],\n ],\n },\n [Tag.PayingForTx]: {\n 1: [\n ['tag', shortUIntConst(Tag.PayingForTx)],\n ['version', shortUIntConst(1)],\n ['payerId', address(Encoding.AccountAddress)],\n ['nonce', shortUInt],\n ['fee', fee],\n ['tx', entry()],\n ],\n },\n} as const;\n\ntype TxTypeSchemasNotCombined = {\n [tag in Tag]: {\n [ver in keyof typeof TX_SCHEMA[tag]]: BuildTxArgBySchema<typeof TX_SCHEMA[tag][ver]>\n }\n};\n\nexport type TxTypeSchemas = {\n [key in Tag]: TxTypeSchemasNotCombined[key][keyof TxTypeSchemasNotCombined[key]]\n};\n\nexport type TxSchema = TxTypeSchemas[Tag];\nexport type TxParamsCommon = Partial<UnionToIntersection<TxSchema>>;\n"],"mappings":"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"}