@aeternity/aepp-sdk 13.0.0-alpha.0 → 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 (322) 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 +4206 -1127
  7. package/dist/aepp-sdk.js.map +1 -1
  8. package/es/AeSdkBase.d.ts +3 -3
  9. package/es/AeSdkBase.mjs +4 -0
  10. package/es/AeSdkBase.mjs.map +1 -1
  11. package/es/AeSdkMethods.d.ts +3 -4
  12. package/es/AeSdkMethods.mjs.map +1 -1
  13. package/es/Node.d.ts +4 -3
  14. package/es/Node.mjs +1 -1
  15. package/es/Node.mjs.map +1 -1
  16. package/es/account/Base.d.ts +2 -2
  17. package/es/account/Base.mjs.map +1 -1
  18. package/es/account/Generalized.mjs +5 -3
  19. package/es/account/Generalized.mjs.map +1 -1
  20. package/es/account/Ledger.mjs +2 -1
  21. package/es/account/Ledger.mjs.map +1 -1
  22. package/es/account/Memory.mjs +2 -1
  23. package/es/account/Memory.mjs.map +1 -1
  24. package/es/aens.d.ts +1 -1
  25. package/es/aens.mjs +5 -1
  26. package/es/aens.mjs.map +1 -1
  27. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  28. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +19 -4
  29. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  30. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +1 -1
  31. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  32. package/es/chain.d.ts +9 -1
  33. package/es/chain.mjs +4 -1
  34. package/es/chain.mjs.map +1 -1
  35. package/es/channel/Base.d.ts +6 -1
  36. package/es/channel/Base.mjs +9 -6
  37. package/es/channel/Base.mjs.map +1 -1
  38. package/es/channel/Contract.d.ts +8 -7
  39. package/es/channel/Contract.mjs +1 -1
  40. package/es/channel/Contract.mjs.map +1 -1
  41. package/es/channel/Spend.d.ts +3 -1
  42. package/es/channel/Spend.mjs +4 -2
  43. package/es/channel/Spend.mjs.map +1 -1
  44. package/es/channel/handlers.mjs +11 -9
  45. package/es/channel/handlers.mjs.map +1 -1
  46. package/es/channel/internal.mjs +3 -1
  47. package/es/channel/internal.mjs.map +1 -1
  48. package/es/contract/Contract.d.ts +21 -46
  49. package/es/contract/Contract.mjs +69 -52
  50. package/es/contract/Contract.mjs.map +1 -1
  51. package/es/contract/compiler/Base.d.ts +81 -0
  52. package/es/contract/compiler/Base.mjs +5 -0
  53. package/es/contract/compiler/Base.mjs.map +1 -0
  54. package/es/contract/compiler/Cli.d.ts +23 -0
  55. package/es/contract/compiler/Cli.mjs +155 -0
  56. package/es/contract/compiler/Cli.mjs.map +1 -0
  57. package/es/contract/compiler/Http.d.ts +32 -0
  58. package/es/contract/{CompilerHttp.mjs → compiler/Http.mjs} +64 -9
  59. package/es/contract/compiler/Http.mjs.map +1 -0
  60. package/es/contract/compiler/HttpNode.d.ts +17 -0
  61. package/es/contract/compiler/HttpNode.mjs +26 -0
  62. package/es/contract/compiler/HttpNode.mjs.map +1 -0
  63. package/es/contract/compiler/getFileSystem.d.ts +6 -0
  64. package/es/contract/compiler/getFileSystem.mjs +40 -0
  65. package/es/contract/compiler/getFileSystem.mjs.map +1 -0
  66. package/es/contract/ga.d.ts +5 -4
  67. package/es/contract/ga.mjs +11 -2
  68. package/es/contract/ga.mjs.map +1 -1
  69. package/es/index-browser.d.ts +39 -0
  70. package/es/index-browser.mjs +55 -0
  71. package/es/index-browser.mjs.map +1 -0
  72. package/es/index.d.ts +4 -38
  73. package/es/index.mjs +4 -53
  74. package/es/index.mjs.map +1 -1
  75. package/es/oracle.mjs +1 -1
  76. package/es/oracle.mjs.map +1 -1
  77. package/es/spend.mjs +1 -3
  78. package/es/spend.mjs.map +1 -1
  79. package/es/tx/builder/constants.d.ts +28 -1
  80. package/es/tx/builder/constants.mjs +32 -3
  81. package/es/tx/builder/constants.mjs.map +1 -1
  82. package/es/tx/builder/field-types/abi-version.d.ts +10 -0
  83. package/es/tx/builder/field-types/abi-version.mjs +20 -0
  84. package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
  85. package/es/tx/builder/field-types/address.d.ts +5 -6
  86. package/es/tx/builder/field-types/address.mjs +17 -8
  87. package/es/tx/builder/field-types/address.mjs.map +1 -1
  88. package/es/tx/builder/field-types/array.d.ts +7 -0
  89. package/es/tx/builder/field-types/array.mjs +11 -0
  90. package/es/tx/builder/field-types/array.mjs.map +1 -0
  91. package/es/tx/builder/field-types/boolean.d.ts +6 -0
  92. package/es/tx/builder/field-types/boolean.mjs +13 -0
  93. package/es/tx/builder/field-types/boolean.mjs.map +1 -0
  94. package/es/tx/builder/field-types/coin-amount.d.ts +1 -1
  95. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  96. package/es/tx/builder/field-types/ct-version.d.ts +30 -0
  97. package/es/tx/builder/field-types/ct-version.mjs +48 -0
  98. package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
  99. package/es/tx/builder/field-types/deposit.d.ts +1 -1
  100. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  101. package/es/tx/builder/field-types/encoded.d.ts +6 -0
  102. package/es/tx/builder/field-types/encoded.mjs +21 -0
  103. package/es/tx/builder/field-types/encoded.mjs.map +1 -0
  104. package/es/tx/builder/field-types/entry.d.ts +11 -0
  105. package/es/tx/builder/field-types/entry.mjs +31 -0
  106. package/es/tx/builder/field-types/entry.mjs.map +1 -0
  107. package/es/tx/builder/field-types/enumeration.d.ts +5 -3
  108. package/es/tx/builder/field-types/enumeration.mjs +11 -2
  109. package/es/tx/builder/field-types/enumeration.mjs.map +1 -1
  110. package/es/tx/builder/field-types/fee.d.ts +10 -7
  111. package/es/tx/builder/field-types/fee.mjs +24 -20
  112. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  113. package/es/tx/builder/field-types/gas-limit.d.ts +5 -2
  114. package/es/tx/builder/field-types/gas-limit.mjs +9 -6
  115. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  116. package/es/tx/builder/field-types/gas-price.d.ts +1 -1
  117. package/es/tx/builder/field-types/index.d.ts +66 -28
  118. package/es/tx/builder/field-types/index.mjs +30 -12
  119. package/es/tx/builder/field-types/index.mjs.map +1 -1
  120. package/es/tx/builder/field-types/mptree.d.ts +37 -0
  121. package/es/tx/builder/field-types/mptree.mjs +268 -0
  122. package/es/tx/builder/field-types/mptree.mjs.map +1 -0
  123. package/es/tx/builder/field-types/name-fee.d.ts +1 -2
  124. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  125. package/es/tx/builder/field-types/name-id.mjs +2 -1
  126. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  127. package/es/tx/builder/field-types/pointers.mjs +2 -2
  128. package/es/tx/builder/field-types/pointers.mjs.map +1 -1
  129. package/es/tx/builder/field-types/raw.d.ts +6 -0
  130. package/es/tx/builder/field-types/raw.mjs +13 -0
  131. package/es/tx/builder/field-types/raw.mjs.map +1 -0
  132. package/es/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  133. package/es/tx/builder/field-types/short-u-int-const.mjs +16 -0
  134. package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
  135. package/es/tx/builder/field-types/string.d.ts +6 -0
  136. package/es/tx/builder/field-types/string.mjs +10 -0
  137. package/es/tx/builder/field-types/string.mjs.map +1 -0
  138. package/es/tx/builder/field-types/u-int.d.ts +1 -2
  139. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  140. package/es/tx/builder/index.d.ts +11 -29
  141. package/es/tx/builder/index.mjs +50 -211
  142. package/es/tx/builder/index.mjs.map +1 -1
  143. package/es/tx/builder/schema.d.ts +2111 -571
  144. package/es/tx/builder/schema.mjs +57 -125
  145. package/es/tx/builder/schema.mjs.map +1 -1
  146. package/es/tx/index.d.ts +5 -20
  147. package/es/tx/index.mjs +31 -88
  148. package/es/tx/index.mjs.map +1 -1
  149. package/es/tx/validator.d.ts +3 -5
  150. package/es/tx/validator.mjs +82 -95
  151. package/es/tx/validator.mjs.map +1 -1
  152. package/es/utils/bytes.mjs +1 -1
  153. package/es/utils/bytes.mjs.map +1 -1
  154. package/es/utils/errors.d.ts +3 -8
  155. package/es/utils/errors.mjs +1 -11
  156. package/es/utils/errors.mjs.map +1 -1
  157. package/es/utils/other.d.ts +1 -1
  158. package/package.json +35 -27
  159. package/src/AeSdkBase.ts +6 -3
  160. package/src/AeSdkMethods.ts +3 -4
  161. package/src/Node.ts +6 -3
  162. package/src/account/Base.ts +2 -2
  163. package/src/account/Generalized.ts +2 -2
  164. package/src/account/Ledger.ts +1 -1
  165. package/src/account/Memory.ts +1 -1
  166. package/src/aens.ts +3 -2
  167. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +18 -7
  168. package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
  169. package/src/chain.ts +5 -3
  170. package/src/channel/Base.ts +13 -5
  171. package/src/channel/Contract.ts +11 -10
  172. package/src/channel/Spend.ts +7 -2
  173. package/src/channel/handlers.ts +10 -9
  174. package/src/channel/internal.ts +1 -1
  175. package/src/contract/Contract.ts +69 -79
  176. package/src/contract/compiler/Base.ts +94 -0
  177. package/src/contract/compiler/Cli.ts +134 -0
  178. package/src/contract/compiler/Http.ts +124 -0
  179. package/src/contract/compiler/HttpNode.ts +26 -0
  180. package/src/contract/compiler/getFileSystem.ts +42 -0
  181. package/src/contract/ga.ts +9 -6
  182. package/src/index-browser.ts +58 -0
  183. package/src/index.ts +4 -56
  184. package/src/oracle.ts +1 -1
  185. package/src/spend.ts +1 -1
  186. package/src/tx/builder/constants.ts +32 -3
  187. package/src/tx/builder/field-types/abi-version.ts +21 -0
  188. package/src/tx/builder/field-types/address.ts +23 -13
  189. package/src/tx/builder/field-types/array.ts +19 -0
  190. package/src/tx/builder/field-types/boolean.ts +9 -0
  191. package/src/tx/builder/field-types/coin-amount.ts +2 -1
  192. package/src/tx/builder/field-types/ct-version.ts +50 -0
  193. package/src/tx/builder/field-types/deposit.ts +1 -1
  194. package/src/tx/builder/field-types/encoded.ts +27 -0
  195. package/src/tx/builder/field-types/entry.ts +31 -0
  196. package/src/tx/builder/field-types/enumeration.ts +15 -4
  197. package/src/tx/builder/field-types/fee.ts +38 -18
  198. package/src/tx/builder/field-types/gas-limit.ts +12 -7
  199. package/src/tx/builder/field-types/index.ts +46 -17
  200. package/src/tx/builder/field-types/mptree.ts +242 -0
  201. package/src/tx/builder/field-types/name-fee.ts +1 -2
  202. package/src/tx/builder/field-types/name-id.ts +1 -1
  203. package/src/tx/builder/field-types/pointers.ts +2 -2
  204. package/src/tx/builder/field-types/raw.ts +9 -0
  205. package/src/tx/builder/field-types/short-u-int-const.ts +20 -0
  206. package/src/tx/builder/field-types/string.ts +11 -0
  207. package/src/tx/builder/field-types/u-int.ts +1 -3
  208. package/src/tx/builder/index.ts +63 -247
  209. package/src/tx/builder/schema.ts +273 -323
  210. package/src/tx/index.ts +37 -104
  211. package/src/tx/validator.ts +72 -95
  212. package/src/utils/bytes.ts +1 -1
  213. package/src/utils/errors.ts +4 -13
  214. package/types-legacy/ts4.2/AeSdkBase.d.ts +3 -3
  215. package/types-legacy/ts4.2/AeSdkMethods.d.ts +3 -4
  216. package/types-legacy/ts4.2/Node.d.ts +3 -3
  217. package/types-legacy/ts4.2/account/Base.d.ts +2 -2
  218. package/types-legacy/ts4.2/aens.d.ts +1 -1
  219. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  220. package/types-legacy/ts4.2/chain.d.ts +9 -1
  221. package/types-legacy/ts4.2/channel/Base.d.ts +6 -1
  222. package/types-legacy/ts4.2/channel/Contract.d.ts +8 -7
  223. package/types-legacy/ts4.2/channel/Spend.d.ts +3 -1
  224. package/types-legacy/ts4.2/contract/Contract.d.ts +21 -46
  225. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +81 -0
  226. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
  227. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
  228. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
  229. package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
  230. package/types-legacy/ts4.2/contract/ga.d.ts +5 -4
  231. package/types-legacy/ts4.2/index-browser.d.ts +39 -0
  232. package/types-legacy/ts4.2/index.d.ts +4 -38
  233. package/types-legacy/ts4.2/tx/builder/constants.d.ts +28 -1
  234. package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +10 -0
  235. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +11 -12
  236. package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
  237. package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
  238. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +1 -1
  239. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +42 -0
  240. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +1 -1
  241. package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
  242. package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
  243. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +5 -3
  244. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +10 -7
  245. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +5 -2
  246. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +1 -1
  247. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +72 -28
  248. package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +43 -0
  249. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +1 -2
  250. package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
  251. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  252. package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
  253. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +1 -2
  254. package/types-legacy/ts4.2/tx/builder/index.d.ts +11 -29
  255. package/types-legacy/ts4.2/tx/builder/schema.d.ts +2380 -668
  256. package/types-legacy/ts4.2/tx/index.d.ts +5 -20
  257. package/types-legacy/ts4.2/tx/validator.d.ts +3 -5
  258. package/types-legacy/ts4.2/utils/errors.d.ts +3 -8
  259. package/types-legacy/ts4.2/utils/other.d.ts +1 -1
  260. package/types-legacy/ts4.5/AeSdkBase.d.ts +3 -3
  261. package/types-legacy/ts4.5/AeSdkMethods.d.ts +3 -4
  262. package/types-legacy/ts4.5/Node.d.ts +3 -3
  263. package/types-legacy/ts4.5/account/Base.d.ts +2 -2
  264. package/types-legacy/ts4.5/aens.d.ts +1 -1
  265. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  266. package/types-legacy/ts4.5/chain.d.ts +9 -1
  267. package/types-legacy/ts4.5/channel/Base.d.ts +6 -1
  268. package/types-legacy/ts4.5/channel/Contract.d.ts +8 -7
  269. package/types-legacy/ts4.5/channel/Spend.d.ts +3 -1
  270. package/types-legacy/ts4.5/contract/Contract.d.ts +21 -46
  271. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +81 -0
  272. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
  273. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
  274. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
  275. package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
  276. package/types-legacy/ts4.5/contract/ga.d.ts +5 -4
  277. package/types-legacy/ts4.5/index-browser.d.ts +39 -0
  278. package/types-legacy/ts4.5/index.d.ts +4 -38
  279. package/types-legacy/ts4.5/tx/builder/constants.d.ts +28 -1
  280. package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +10 -0
  281. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +11 -12
  282. package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
  283. package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
  284. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +1 -1
  285. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +42 -0
  286. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +1 -1
  287. package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
  288. package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
  289. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +5 -3
  290. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +10 -7
  291. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +5 -2
  292. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +1 -1
  293. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +72 -28
  294. package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +43 -0
  295. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +1 -2
  296. package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
  297. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  298. package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
  299. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +1 -2
  300. package/types-legacy/ts4.5/tx/builder/index.d.ts +11 -29
  301. package/types-legacy/ts4.5/tx/builder/schema.d.ts +2380 -668
  302. package/types-legacy/ts4.5/tx/index.d.ts +5 -20
  303. package/types-legacy/ts4.5/tx/validator.d.ts +3 -5
  304. package/types-legacy/ts4.5/utils/errors.d.ts +3 -8
  305. package/types-legacy/ts4.5/utils/other.d.ts +1 -1
  306. package/es/contract/CompilerHttp.d.ts +0 -18
  307. package/es/contract/CompilerHttp.mjs.map +0 -1
  308. package/es/tx/builder/field-types/addresses.d.ts +0 -6
  309. package/es/tx/builder/field-types/addresses.mjs +0 -13
  310. package/es/tx/builder/field-types/addresses.mjs.map +0 -1
  311. package/es/utils/mptree.d.ts +0 -26
  312. package/es/utils/mptree.mjs +0 -143
  313. package/es/utils/mptree.mjs.map +0 -1
  314. package/src/contract/CompilerHttp.ts +0 -67
  315. package/src/tx/builder/field-types/addresses.ts +0 -18
  316. package/src/utils/mptree.ts +0 -145
  317. package/types-legacy/ts4.2/contract/CompilerHttp.d.ts +0 -18
  318. package/types-legacy/ts4.2/tx/builder/field-types/addresses.d.ts +0 -6
  319. package/types-legacy/ts4.2/utils/mptree.d.ts +0 -32
  320. package/types-legacy/ts4.5/contract/CompilerHttp.d.ts +0 -18
  321. package/types-legacy/ts4.5/tx/builder/field-types/addresses.d.ts +0 -6
  322. package/types-legacy/ts4.5/utils/mptree.d.ts +0 -32
@@ -4,8 +4,9 @@
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, address, addresses, pointers, enumeration } 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
+ import { idTagToEncoding } from "./field-types/address.mjs";
9
10
  export let ORACLE_TTL_TYPES;
10
11
 
11
12
  // # TRANSACTION DEFAULT TTL
@@ -33,232 +34,163 @@ export const DRY_RUN_ACCOUNT = {
33
34
  pub: 'ak_11111111111111111111111111111111273Yts',
34
35
  amount: 100000000000000000000000000000000000n
35
36
  };
36
- /**
37
- * @category transaction builder
38
- * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
39
- */
40
- export let VM_VERSIONS;
41
-
42
- /**
43
- * @category transaction builder
44
- * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
45
- */
46
- (function (VM_VERSIONS) {
47
- VM_VERSIONS[VM_VERSIONS["NO_VM"] = 0] = "NO_VM";
48
- VM_VERSIONS[VM_VERSIONS["SOPHIA"] = 1] = "SOPHIA";
49
- VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_MINERVA"] = 3] = "SOPHIA_IMPROVEMENTS_MINERVA";
50
- VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_FORTUNA"] = 4] = "SOPHIA_IMPROVEMENTS_FORTUNA";
51
- VM_VERSIONS[VM_VERSIONS["FATE"] = 5] = "FATE";
52
- VM_VERSIONS[VM_VERSIONS["SOPHIA_IMPROVEMENTS_LIMA"] = 6] = "SOPHIA_IMPROVEMENTS_LIMA";
53
- VM_VERSIONS[VM_VERSIONS["FATE_2"] = 7] = "FATE_2";
54
- })(VM_VERSIONS || (VM_VERSIONS = {}));
55
- export let ABI_VERSIONS;
56
- (function (ABI_VERSIONS) {
57
- ABI_VERSIONS[ABI_VERSIONS["NO_ABI"] = 0] = "NO_ABI";
58
- ABI_VERSIONS[ABI_VERSIONS["SOPHIA"] = 1] = "SOPHIA";
59
- ABI_VERSIONS[ABI_VERSIONS["FATE"] = 3] = "FATE";
60
- })(ABI_VERSIONS || (ABI_VERSIONS = {}));
61
37
  export let CallReturnType;
62
-
63
- /**
64
- * @category transaction builder
65
- */
66
38
  (function (CallReturnType) {
67
39
  CallReturnType[CallReturnType["Ok"] = 0] = "Ok";
68
40
  CallReturnType[CallReturnType["Error"] = 1] = "Error";
69
41
  CallReturnType[CallReturnType["Revert"] = 2] = "Revert";
70
42
  })(CallReturnType || (CallReturnType = {}));
71
- export let PROTOCOL_VERSIONS;
72
-
73
- // First abi/vm by default
74
- (function (PROTOCOL_VERSIONS) {
75
- PROTOCOL_VERSIONS[PROTOCOL_VERSIONS["IRIS"] = 5] = "IRIS";
76
- })(PROTOCOL_VERSIONS || (PROTOCOL_VERSIONS = {}));
77
- export const PROTOCOL_VM_ABI = {
78
- [PROTOCOL_VERSIONS.IRIS]: {
79
- [Tag.ContractCreateTx]: {
80
- vmVersion: [VM_VERSIONS.FATE_2],
81
- abiVersion: [ABI_VERSIONS.FATE]
82
- },
83
- // TODO: Ensure that AEVM (SOPHIA?) is still available here
84
- [Tag.ContractCallTx]: {
85
- vmVersion: [],
86
- abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA]
87
- },
88
- [Tag.OracleRegisterTx]: {
89
- vmVersion: [],
90
- abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA]
91
- }
92
- }
93
- };
94
43
  /**
95
- * @category transaction builder
44
+ * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}
96
45
  */
97
- export let FIELD_TYPES;
98
- (function (FIELD_TYPES) {
99
- FIELD_TYPES[FIELD_TYPES["string"] = 0] = "string";
100
- FIELD_TYPES[FIELD_TYPES["binary"] = 1] = "binary";
101
- FIELD_TYPES[FIELD_TYPES["bool"] = 2] = "bool";
102
- FIELD_TYPES[FIELD_TYPES["hex"] = 3] = "hex";
103
- FIELD_TYPES[FIELD_TYPES["rlpBinary"] = 4] = "rlpBinary";
104
- FIELD_TYPES[FIELD_TYPES["rlpBinaries"] = 5] = "rlpBinaries";
105
- FIELD_TYPES[FIELD_TYPES["rawBinary"] = 6] = "rawBinary";
106
- FIELD_TYPES[FIELD_TYPES["signatures"] = 7] = "signatures";
107
- FIELD_TYPES[FIELD_TYPES["offChainUpdates"] = 8] = "offChainUpdates";
108
- FIELD_TYPES[FIELD_TYPES["callStack"] = 9] = "callStack";
109
- FIELD_TYPES[FIELD_TYPES["proofOfInclusion"] = 10] = "proofOfInclusion";
110
- FIELD_TYPES[FIELD_TYPES["mptrees"] = 11] = "mptrees";
111
- FIELD_TYPES[FIELD_TYPES["ctVersion"] = 12] = "ctVersion";
112
- FIELD_TYPES[FIELD_TYPES["sophiaCodeTypeInfo"] = 13] = "sophiaCodeTypeInfo";
113
- FIELD_TYPES[FIELD_TYPES["payload"] = 14] = "payload";
114
- FIELD_TYPES[FIELD_TYPES["stateTree"] = 15] = "stateTree";
115
- })(FIELD_TYPES || (FIELD_TYPES = {}));
116
- const BASE_TX = [['tag', shortUInt], ['VSN', shortUInt]];
117
46
  export const TX_SCHEMA = {
118
47
  [Tag.Account]: {
119
- 1: [...BASE_TX, ['nonce', shortUInt], ['balance', uInt]],
120
- 2: [...BASE_TX, ['flags', uInt], ['nonce', shortUInt], ['balance', uInt], ['gaContract', address()], ['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)]]
121
50
  },
122
51
  [Tag.SignedTx]: {
123
- 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()]]
124
53
  },
125
54
  [Tag.SpendTx]: {
126
- 1: [...BASE_TX, ['senderId', address()], ['recipientId', address()], ['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]]
127
59
  },
128
60
  [Tag.NamePreclaimTx]: {
129
- 1: [...BASE_TX, ['accountId', address()], ['nonce', shortUInt], ['commitmentId', address()], ['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]]
130
62
  },
131
63
  [Tag.NameClaimTx]: {
132
- 2: [...BASE_TX, ['accountId', address()], ['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]]
133
65
  },
134
66
  [Tag.NameUpdateTx]: {
135
- 1: [...BASE_TX, ['accountId', address()], ['nonce', shortUInt], ['nameId', nameId], ['nameTtl', shortUInt], ['pointers', 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]]
136
68
  },
137
69
  [Tag.NameTransferTx]: {
138
- 1: [...BASE_TX, ['accountId', address()], ['nonce', shortUInt], ['nameId', nameId], ['recipientId', address()], ['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]]
139
71
  },
140
72
  [Tag.NameRevokeTx]: {
141
- 1: [...BASE_TX, ['accountId', address()], ['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]]
142
74
  },
143
75
  [Tag.Contract]: {
144
- 1: [...BASE_TX, ['owner', address()], ['ctVersion', FIELD_TYPES.ctVersion], ['code', FIELD_TYPES.binary, Encoding.ContractBytearray], ['log', FIELD_TYPES.binary, Encoding.ContractBytearray], ['active', FIELD_TYPES.bool], ['referers', addresses()], ['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]]
145
77
  },
146
78
  [Tag.ContractCreateTx]: {
147
- 1: [...BASE_TX, ['ownerId', address()], ['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)]]
148
80
  },
149
81
  [Tag.ContractCallTx]: {
150
- 1: [...BASE_TX, ['callerId', address()], ['nonce', shortUInt], ['contractId', address()], ['abiVersion', enumeration()], ['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)]]
151
83
  },
152
84
  [Tag.ContractCall]: {
153
- 1: [...BASE_TX, ['callerId', address()], ['callerNonce', shortUInt], ['height', shortUInt], ['contractId', address()], ['gasPrice', gasPrice], ['gasUsed', shortUInt], ['returnValue', FIELD_TYPES.binary, Encoding.ContractBytearray], ['returnType', enumeration()],
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)],
154
86
  // TODO: add serialization for
155
87
  // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]
156
- ['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]]
157
92
  },
158
93
  [Tag.OracleRegisterTx]: {
159
- 1: [...BASE_TX, ['accountId', address()], ['nonce', shortUInt], ['queryFormat', FIELD_TYPES.string], ['responseFormat', FIELD_TYPES.string], ['queryFee', coinAmount], ['oracleTtlType', enumeration()], ['oracleTtlValue', shortUInt], ['fee', fee], ['ttl', shortUInt], ['abiVersion', enumeration()]]
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]]
160
95
  },
161
96
  [Tag.OracleExtendTx]: {
162
- 1: [...BASE_TX, ['oracleId', address()], ['nonce', shortUInt], ['oracleTtlType', enumeration()], ['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]]
163
98
  },
164
99
  [Tag.OracleQueryTx]: {
165
- 1: [...BASE_TX, ['senderId', address()], ['nonce', shortUInt], ['oracleId', address()], ['query', FIELD_TYPES.string], ['queryFee', coinAmount], ['queryTtlType', enumeration()], ['queryTtlValue', shortUInt], ['responseTtlType', enumeration()], ['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]]
166
101
  },
167
102
  [Tag.OracleResponseTx]: {
168
- 1: [...BASE_TX, ['oracleId', address()], ['nonce', shortUInt], ['queryId', FIELD_TYPES.binary, Encoding.OracleQueryId], ['response', FIELD_TYPES.string], ['responseTtlType', enumeration()], ['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]]
169
104
  },
170
105
  [Tag.ChannelCreateTx]: {
171
- 2: [...BASE_TX, ['initiator', address()], ['initiatorAmount', uInt], ['responder', address()], ['responderAmount', uInt], ['channelReserve', uInt], ['lockPeriod', uInt], ['ttl', shortUInt], ['fee', fee], ['initiatorDelegateIds', FIELD_TYPES.string], ['responderDelegateIds', FIELD_TYPES.string], ['stateHash', FIELD_TYPES.binary, Encoding.State], ['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]]
172
107
  },
173
108
  [Tag.ChannelCloseMutualTx]: {
174
- 1: [...BASE_TX, ['channelId', address()], ['fromId', address()], ['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]]
175
110
  },
176
111
  [Tag.ChannelCloseSoloTx]: {
177
- 1: [...BASE_TX, ['channelId', address()], ['fromId', address()], ['payload', FIELD_TYPES.binary, Encoding.Transaction], ['poi', FIELD_TYPES.binary, Encoding.Poi], ['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]]
178
113
  },
179
114
  [Tag.ChannelSlashTx]: {
180
- 1: [...BASE_TX, ['channelId', address()], ['fromId', address()], ['payload', FIELD_TYPES.binary, Encoding.Transaction], ['poi', FIELD_TYPES.binary, Encoding.Poi], ['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]]
181
116
  },
182
117
  [Tag.ChannelDepositTx]: {
183
- 1: [...BASE_TX, ['channelId', address()], ['fromId', address()], ['amount', uInt], ['ttl', shortUInt], ['fee', fee], ['stateHash', FIELD_TYPES.binary, Encoding.State], ['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]]
184
119
  },
185
120
  [Tag.ChannelWithdrawTx]: {
186
- 1: [...BASE_TX, ['channelId', address()], ['toId', address()], ['amount', uInt], ['ttl', shortUInt], ['fee', fee], ['stateHash', FIELD_TYPES.binary, Encoding.State], ['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]]
187
122
  },
188
123
  [Tag.ChannelSettleTx]: {
189
- 1: [...BASE_TX, ['channelId', address()], ['fromId', address()], ['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]]
190
125
  },
191
126
  [Tag.ChannelForceProgressTx]: {
192
- 1: [...BASE_TX, ['channelId', address()], ['fromId', address()], ['payload', FIELD_TYPES.binary, Encoding.Transaction], ['round', shortUInt], ['update', FIELD_TYPES.binary, Encoding.ContractBytearray], ['stateHash', FIELD_TYPES.binary, Encoding.State], ['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]]
193
128
  },
194
129
  [Tag.ChannelOffChainTx]: {
195
- 2: [...BASE_TX, ['channelId', address()], ['round', shortUInt], ['stateHash', FIELD_TYPES.binary, Encoding.State]]
130
+ 2: [['tag', shortUIntConst(Tag.ChannelOffChainTx)], ['version', shortUIntConst(2)], ['channelId', address(Encoding.Channel)], ['round', shortUInt], ['stateHash', encoded(Encoding.State)]]
196
131
  },
197
132
  [Tag.Channel]: {
198
- 3: [...BASE_TX, ['initiator', address()], ['responder', address()], ['channelAmount', uInt], ['initiatorAmount', uInt], ['responderAmount', uInt], ['channelReserve', uInt], ['initiatorDelegateIds', addresses()], ['responderDelegateIds', addresses()], ['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)]]
199
134
  },
200
135
  [Tag.ChannelSnapshotSoloTx]: {
201
- 1: [...BASE_TX, ['channelId', address()], ['fromId', address()], ['payload', FIELD_TYPES.binary, Encoding.Transaction], ['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]]
202
137
  },
203
138
  [Tag.ChannelOffChainUpdateTransfer]: {
204
- 1: [...BASE_TX, ['from', address()], ['to', address()], ['amount', uInt]]
139
+ 1: [['tag', shortUIntConst(Tag.ChannelOffChainUpdateTransfer)], ['version', shortUIntConst(1)], ['from', address(Encoding.AccountAddress)], ['to', address(Encoding.AccountAddress)], ['amount', uInt]]
205
140
  },
206
141
  [Tag.ChannelOffChainUpdateDeposit]: {
207
- 1: [...BASE_TX, ['from', address()], ['amount', uInt]]
142
+ 1: [['tag', shortUIntConst(Tag.ChannelOffChainUpdateDeposit)], ['version', shortUIntConst(1)], ['from', address(Encoding.AccountAddress)], ['amount', uInt]]
208
143
  },
209
144
  [Tag.ChannelOffChainUpdateWithdraw]: {
210
- 1: [...BASE_TX, ['from', address()], ['amount', uInt]]
145
+ 1: [['tag', shortUIntConst(Tag.ChannelOffChainUpdateWithdraw)], ['version', shortUIntConst(1)], ['from', address(Encoding.AccountAddress)], ['amount', uInt]]
211
146
  },
212
147
  [Tag.ChannelOffChainUpdateCreateContract]: {
213
- 1: [...BASE_TX, ['owner', address()], ['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)]]
214
149
  },
215
150
  [Tag.ChannelOffChainUpdateCallContract]: {
216
- 1: [...BASE_TX, ['caller', address()], ['contract', address()], ['abiVersion', enumeration()], ['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]]
217
152
  },
218
153
  [Tag.ChannelClientReconnectTx]: {
219
- 1: [...BASE_TX, ['channelId', address()], ['round', shortUInt], ['role', FIELD_TYPES.string], ['pubkey', address()]]
154
+ 1: [['tag', shortUIntConst(Tag.ChannelClientReconnectTx)], ['version', shortUIntConst(1)], ['channelId', address(Encoding.Channel)], ['round', shortUInt], ['role', string], ['pubkey', address(Encoding.AccountAddress)]]
220
155
  },
221
156
  [Tag.TreesPoi]: {
222
- 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))]]
223
158
  },
224
159
  [Tag.StateTrees]: {
225
- 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()]]
226
161
  },
227
162
  [Tag.Mtree]: {
228
- 1: [...BASE_TX, ['values', FIELD_TYPES.rlpBinaries]]
163
+ 1: [['tag', shortUIntConst(Tag.Mtree)], ['version', shortUIntConst(1)], ['values', array(entry())]]
229
164
  },
230
165
  [Tag.MtreeValue]: {
231
- 1: [...BASE_TX, ['key', FIELD_TYPES.hex], ['value', FIELD_TYPES.rawBinary]]
166
+ 1: [['tag', shortUIntConst(Tag.MtreeValue)], ['version', shortUIntConst(1)], ['key', raw], ['value', raw]]
232
167
  },
233
168
  [Tag.ContractsMtree]: {
234
- 1: [...BASE_TX, ['contracts', FIELD_TYPES.rlpBinary]]
169
+ 1: [['tag', shortUIntConst(Tag.ContractsMtree)], ['version', shortUIntConst(1)], ['contracts', entry()]]
235
170
  },
236
171
  [Tag.CallsMtree]: {
237
- 1: [...BASE_TX, ['calls', FIELD_TYPES.rlpBinary]]
172
+ 1: [['tag', shortUIntConst(Tag.CallsMtree)], ['version', shortUIntConst(1)], ['calls', entry()]]
238
173
  },
239
174
  [Tag.ChannelsMtree]: {
240
- 1: [...BASE_TX, ['channels', FIELD_TYPES.rlpBinary]]
175
+ 1: [['tag', shortUIntConst(Tag.ChannelsMtree)], ['version', shortUIntConst(1)], ['channels', entry()]]
241
176
  },
242
177
  [Tag.NameserviceMtree]: {
243
- 1: [...BASE_TX, ['mtree', FIELD_TYPES.rlpBinary]]
178
+ 1: [['tag', shortUIntConst(Tag.NameserviceMtree)], ['version', shortUIntConst(1)], ['mtree', entry()]]
244
179
  },
245
180
  [Tag.OraclesMtree]: {
246
- 1: [...BASE_TX, ['otree', FIELD_TYPES.rlpBinary]]
181
+ 1: [['tag', shortUIntConst(Tag.OraclesMtree)], ['version', shortUIntConst(1)], ['otree', entry()]]
247
182
  },
248
183
  [Tag.AccountsMtree]: {
249
- 1: [...BASE_TX, ['accounts', FIELD_TYPES.rlpBinary]]
184
+ 1: [['tag', shortUIntConst(Tag.AccountsMtree)], ['version', shortUIntConst(1)], ['accounts', entry()]]
250
185
  },
251
186
  [Tag.GaAttachTx]: {
252
- 1: [...BASE_TX, ['ownerId', address()], ['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)]]
253
188
  },
254
189
  [Tag.GaMetaTx]: {
255
- 2: [...BASE_TX, ['gaId', address()], ['authData', FIELD_TYPES.binary, Encoding.ContractBytearray], ['abiVersion', enumeration()], ['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()]]
256
191
  },
257
192
  [Tag.PayingForTx]: {
258
- 1: [...BASE_TX, ['payerId', address()], ['nonce', shortUInt], ['fee', fee], ['tx', FIELD_TYPES.rlpBinary]]
259
- },
260
- [Tag.CompilerSophia]: {
261
- 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()]]
262
194
  }
263
195
  };
264
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","address","addresses","pointers","enumeration","Encoding","ORACLE_TTL_TYPES","TX_TTL","QUERY_FEE","ORACLE_TTL","type","delta","value","QUERY_TTL","RESPONSE_TTL","DRY_RUN_ACCOUNT","pub","amount","VM_VERSIONS","ABI_VERSIONS","CallReturnType","PROTOCOL_VERSIONS","PROTOCOL_VM_ABI","IRIS","ContractCreateTx","vmVersion","FATE_2","abiVersion","FATE","ContractCallTx","SOPHIA","OracleRegisterTx","NO_ABI","FIELD_TYPES","BASE_TX","TX_SCHEMA","Account","binary","ContractBytearray","SignedTx","signatures","rlpBinary","SpendTx","payload","NamePreclaimTx","NameClaimTx","NameUpdateTx","NameTransferTx","NameRevokeTx","Contract","ctVersion","bool","ContractCall","rawBinary","string","OracleExtendTx","OracleQueryTx","OracleResponseTx","OracleQueryId","ChannelCreateTx","State","ChannelCloseMutualTx","ChannelCloseSoloTx","Transaction","Poi","ChannelSlashTx","ChannelDepositTx","ChannelWithdrawTx","ChannelSettleTx","ChannelForceProgressTx","stateTree","ChannelOffChainTx","Channel","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 address, addresses, pointers, enumeration,\n} from './field-types';\nimport { Encoded, Encoding } from '../../utils/encoder';\nimport MPTree from '../../utils/mptree';\nimport { UnionToIntersection } from '../../utils/other';\nimport { AddressEncodings } 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_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\nexport enum CallReturnType {\n Ok = 0,\n Error = 1,\n Revert = 2,\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 string,\n binary,\n bool,\n hex,\n rlpBinary,\n rlpBinaries,\n rawBinary,\n signatures,\n offChainUpdates,\n callStack,\n proofOfInclusion,\n mptrees,\n ctVersion,\n sophiaCodeTypeInfo,\n payload,\n stateTree,\n}\n\ninterface BuildFieldTypes<Prefix extends undefined | Encoding | readonly Encoding[]> {\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.offChainUpdates]: any;\n [FIELD_TYPES.callStack]: any;\n [FIELD_TYPES.proofOfInclusion]: any;\n [FIELD_TYPES.mptrees]: MPTree[];\n [FIELD_TYPES.ctVersion]: CtVersion;\n [FIELD_TYPES.sophiaCodeTypeInfo]: any;\n [FIELD_TYPES.payload]: string | undefined;\n [FIELD_TYPES.stateTree]: any;\n}\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', address<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', address<Encoding.AccountAddress>()],\n ['recipientId', address<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', 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 ...BASE_TX,\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 ...BASE_TX,\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 ...BASE_TX,\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 ...BASE_TX,\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 ...BASE_TX,\n ['owner', address<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', addresses<Encoding.AccountAddress>()],\n ['deposit', deposit],\n ],\n },\n [Tag.ContractCreateTx]: {\n 1: [\n ...BASE_TX,\n ['ownerId', address<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', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['contractId', address<Encoding.ContractAddress | Encoding.Name>()],\n ['abiVersion', enumeration<ABI_VERSIONS>()],\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', address<Encoding.AccountAddress>()],\n ['callerNonce', shortUInt],\n ['height', shortUInt],\n ['contractId', address<Encoding.ContractAddress>()],\n ['gasPrice', gasPrice],\n ['gasUsed', shortUInt],\n ['returnValue', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['returnType', enumeration<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', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['queryFormat', FIELD_TYPES.string],\n ['responseFormat', FIELD_TYPES.string],\n ['queryFee', coinAmount],\n ['oracleTtlType', enumeration<ORACLE_TTL_TYPES>()],\n ['oracleTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ['abiVersion', enumeration<ABI_VERSIONS>()],\n ],\n },\n [Tag.OracleExtendTx]: {\n 1: [\n ...BASE_TX,\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 ...BASE_TX,\n ['senderId', address<Encoding.AccountAddress>()],\n ['nonce', shortUInt],\n ['oracleId', address<Encoding.OracleAddress | Encoding.Name>()],\n ['query', FIELD_TYPES.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 ...BASE_TX,\n ['oracleId', address<Encoding.OracleAddress>()],\n ['nonce', shortUInt],\n ['queryId', FIELD_TYPES.binary, Encoding.OracleQueryId],\n ['response', FIELD_TYPES.string],\n ['responseTtlType', enumeration<ORACLE_TTL_TYPES>()],\n ['responseTtlValue', shortUInt],\n ['fee', fee],\n ['ttl', shortUInt],\n ],\n },\n [Tag.ChannelCreateTx]: {\n 2: [\n ...BASE_TX,\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', FIELD_TYPES.string],\n ['responderDelegateIds', FIELD_TYPES.string],\n ['stateHash', FIELD_TYPES.binary, Encoding.State],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelCloseMutualTx]: {\n 1: [\n ...BASE_TX,\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 ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['payload', FIELD_TYPES.binary, Encoding.Transaction],\n ['poi', FIELD_TYPES.binary, Encoding.Poi],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelSlashTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['payload', FIELD_TYPES.binary, Encoding.Transaction],\n ['poi', FIELD_TYPES.binary, Encoding.Poi],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelDepositTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['amount', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['stateHash', FIELD_TYPES.binary, Encoding.State],\n ['round', shortUInt],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelWithdrawTx]: {\n 1: [\n ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['toId', address<Encoding.AccountAddress>()],\n ['amount', uInt],\n ['ttl', shortUInt],\n ['fee', fee],\n ['stateHash', FIELD_TYPES.binary, Encoding.State],\n ['round', shortUInt],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelSettleTx]: {\n 1: [\n ...BASE_TX,\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 ...BASE_TX,\n ['channelId', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['payload', FIELD_TYPES.binary, Encoding.Transaction],\n ['round', shortUInt],\n ['update', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['stateHash', FIELD_TYPES.binary, Encoding.State],\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', address<Encoding.Channel>()],\n ['round', shortUInt],\n ['stateHash', FIELD_TYPES.binary, Encoding.State],\n ],\n },\n [Tag.Channel]: {\n 3: [\n ...BASE_TX,\n ['initiator', address<Encoding.AccountAddress>()],\n ['responder', address<Encoding.AccountAddress>()],\n ['channelAmount', uInt],\n ['initiatorAmount', uInt],\n ['responderAmount', uInt],\n ['channelReserve', uInt],\n ['initiatorDelegateIds', addresses<AddressEncodings>()],\n ['responderDelegateIds', addresses<AddressEncodings>()],\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', address<Encoding.Channel>()],\n ['fromId', address<Encoding.AccountAddress>()],\n ['payload', FIELD_TYPES.binary, Encoding.Transaction],\n ['ttl', shortUInt],\n ['fee', fee],\n ['nonce', shortUInt],\n ],\n },\n [Tag.ChannelOffChainUpdateTransfer]: {\n 1: [\n ...BASE_TX,\n ['from', address<Encoding.AccountAddress>()],\n ['to', address<Encoding.AccountAddress>()],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateDeposit]: {\n 1: [\n ...BASE_TX,\n ['from', address<Encoding.AccountAddress>()],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateWithdraw]: {\n 1: [\n ...BASE_TX,\n ['from', address<Encoding.AccountAddress>()],\n ['amount', uInt],\n ],\n },\n [Tag.ChannelOffChainUpdateCreateContract]: {\n 1: [\n ...BASE_TX,\n ['owner', address<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', address<Encoding.AccountAddress>()],\n ['contract', address<Encoding.ContractAddress>()],\n ['abiVersion', enumeration<ABI_VERSIONS>()],\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', address<Encoding.Channel>()],\n ['round', shortUInt],\n ['role', FIELD_TYPES.string],\n ['pubkey', address<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', address<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', address<Encoding.AccountAddress>()],\n ['authData', FIELD_TYPES.binary, Encoding.ContractBytearray],\n ['abiVersion', enumeration<ABI_VERSIONS>()],\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', address<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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"}
package/es/tx/index.d.ts CHANGED
@@ -1,34 +1,19 @@
1
- /**
2
- * Transaction methods
3
- *
4
- * This is implementation of [Tx](api/tx.md) relays
5
- * the creation of transactions to {@link Node}.
6
- * These methods provide ability to create native transactions.
7
- */
8
- import BigNumber from 'bignumber.js';
9
- import { ABI_VERSIONS, CtVersion } from './builder/schema';
10
1
  import { Tag } from './builder/constants';
11
2
  import Node from '../Node';
12
3
  import { Encoded } from '../utils/encoder';
13
4
  import { buildTx as syncBuildTx } from './builder/index';
14
5
  import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
15
- type Int = number | string | BigNumber;
16
6
  export type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;
17
7
  /**
18
8
  * @category transaction builder
19
9
  */
20
- export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, ..._params }: Omit<Parameters<typeof syncBuildTx<TxType, 'tx'>>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'> & {
21
- onNode: Node;
22
- fee?: Int;
23
- nonce?: number;
24
- ttl?: number;
10
+ export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, strategy, onNode, ..._params }: Omit<Parameters<typeof syncBuildTx<TxType>>[0], 'tag' | 'nonce' | 'ttl'> & {
25
11
  denomination?: AE_AMOUNT_FORMATS;
26
12
  absoluteTtl?: boolean;
13
+ strategy?: 'continuity' | 'max';
14
+ onNode: Node;
15
+ ttl?: number;
16
+ nonce?: number;
27
17
  } & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx ? {
28
18
  callerId: Encoded.AccountAddress;
29
- } : {}) & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? {
30
- ctVersion?: CtVersion;
31
- } : {}) & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx ? {
32
- abiVersion?: ABI_VERSIONS;
33
19
  } : {})): Promise<Encoded.Transaction>;
34
- export {};