@aeternity/aepp-sdk 11.0.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/LICENSE +1 -1
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -22
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +2 -1
  6. package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +20764 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/AeSdk.d.ts +37 -0
  11. package/es/AeSdk.mjs +81 -0
  12. package/es/AeSdk.mjs.map +1 -0
  13. package/es/AeSdkAepp.d.ts +70 -0
  14. package/es/AeSdkAepp.mjs +176 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +213 -0
  17. package/es/AeSdkBase.mjs +314 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +104 -0
  20. package/es/AeSdkWallet.mjs +326 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +41 -0
  23. package/es/Node.mjs +147 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +68 -0
  26. package/es/account/Base.mjs +123 -0
  27. package/es/account/Base.mjs.map +1 -0
  28. package/es/account/Memory.d.ts +26 -0
  29. package/es/account/Memory.mjs +103 -0
  30. package/es/account/Memory.mjs.map +1 -0
  31. package/es/account/Rpc.d.ts +27 -0
  32. package/es/account/Rpc.mjs +80 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +222 -0
  35. package/es/aens.mjs +338 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +73 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +58 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +146 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +16 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  54. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  55. package/es/aepp-wallet-communication/schema.d.ts +105 -46
  56. package/es/aepp-wallet-communication/schema.mjs +251 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +62 -0
  60. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  61. package/es/apis/compiler/compiler.d.ts +92 -0
  62. package/es/apis/compiler/compiler.mjs +576 -0
  63. package/es/apis/compiler/compiler.mjs.map +1 -0
  64. package/es/apis/compiler/index.d.ts +2 -0
  65. package/es/apis/compiler/index.mjs +3 -0
  66. package/es/apis/compiler/index.mjs.map +1 -0
  67. package/es/apis/compiler/models/index.d.ts +248 -0
  68. package/es/apis/compiler/models/index.mjs +48 -0
  69. package/es/apis/compiler/models/index.mjs.map +1 -0
  70. package/es/apis/compiler/models/mappers.d.ts +23 -0
  71. package/es/apis/compiler/models/mappers.mjs +585 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  73. package/es/apis/compiler/models/parameters.d.ts +13 -0
  74. package/es/apis/compiler/models/parameters.mjs +71 -0
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  76. package/es/apis/node/index.d.ts +2 -0
  77. package/es/apis/node/index.mjs +3 -0
  78. package/es/apis/node/index.mjs.map +1 -0
  79. package/es/apis/node/models/index.d.ts +1065 -0
  80. package/es/apis/node/models/index.mjs +2 -0
  81. package/es/apis/node/models/index.mjs.map +1 -0
  82. package/es/apis/node/models/mappers.d.ts +95 -0
  83. package/es/apis/node/models/mappers.mjs +4166 -0
  84. package/es/apis/node/models/mappers.mjs.map +1 -0
  85. package/es/apis/node/models/parameters.d.ts +17 -0
  86. package/es/apis/node/models/parameters.mjs +165 -0
  87. package/es/apis/node/models/parameters.mjs.map +1 -0
  88. package/es/apis/node/node.d.ts +215 -0
  89. package/es/apis/node/node.mjs +1165 -0
  90. package/es/apis/node/node.mjs.map +1 -0
  91. package/es/chain.d.ts +248 -0
  92. package/es/chain.mjs +560 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/handlers.mjs +164 -131
  96. package/es/channel/handlers.mjs.map +1 -1
  97. package/es/channel/index.d.ts +625 -0
  98. package/es/channel/index.mjs +897 -902
  99. package/es/channel/index.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +101 -0
  101. package/es/channel/internal.mjs +138 -88
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Compiler.d.ts +18 -0
  104. package/es/contract/Compiler.mjs +68 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +127 -0
  107. package/es/contract/aci.mjs +225 -193
  108. package/es/contract/aci.mjs.map +1 -1
  109. package/es/contract/ga.d.ts +69 -0
  110. package/es/contract/ga.mjs +195 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +71 -0
  113. package/es/contract/methods.mjs +104 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/deprecated/index.d.ts +143 -0
  116. package/es/deprecated/index.mjs +162 -0
  117. package/es/deprecated/index.mjs.map +1 -0
  118. package/es/deprecated/methods.d.ts +18 -0
  119. package/es/deprecated/methods.mjs +26 -0
  120. package/es/deprecated/methods.mjs.map +1 -0
  121. package/es/index.d.ts +35 -0
  122. package/es/index.mjs +35 -40
  123. package/es/index.mjs.map +1 -1
  124. package/es/oracle.d.ts +161 -0
  125. package/es/oracle.mjs +306 -0
  126. package/es/oracle.mjs.map +1 -0
  127. package/es/spend.d.ts +62 -0
  128. package/es/spend.mjs +111 -0
  129. package/es/spend.mjs.map +1 -0
  130. package/es/tx/builder/address.d.ts +25 -0
  131. package/es/tx/builder/address.mjs +45 -0
  132. package/es/tx/builder/address.mjs.map +1 -0
  133. package/es/tx/builder/constants.d.ts +70 -0
  134. package/es/tx/builder/constants.mjs +122 -0
  135. package/es/tx/builder/constants.mjs.map +1 -0
  136. package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
  137. package/es/tx/builder/field-types/coin-amount.mjs +26 -0
  138. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
  139. package/es/tx/builder/field-types/deposit.d.ts +15 -0
  140. package/es/tx/builder/field-types/deposit.mjs +19 -0
  141. package/es/tx/builder/field-types/deposit.mjs.map +1 -0
  142. package/es/tx/builder/field-types/fee.d.ts +25 -0
  143. package/es/tx/builder/field-types/fee.mjs +150 -0
  144. package/es/tx/builder/field-types/fee.mjs.map +1 -0
  145. package/es/tx/builder/field-types/field.d.ts +6 -0
  146. package/es/tx/builder/field-types/field.mjs +15 -0
  147. package/es/tx/builder/field-types/field.mjs.map +1 -0
  148. package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
  149. package/es/tx/builder/field-types/gas-limit.mjs +33 -0
  150. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
  151. package/es/tx/builder/field-types/gas-price.d.ts +8 -0
  152. package/es/tx/builder/field-types/gas-price.mjs +18 -0
  153. package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
  154. package/es/tx/builder/field-types/index.d.ts +70 -0
  155. package/es/tx/builder/field-types/index.mjs +25 -0
  156. package/es/tx/builder/field-types/index.mjs.map +1 -0
  157. package/es/tx/builder/field-types/name-fee.d.ts +20 -0
  158. package/es/tx/builder/field-types/name-fee.mjs +24 -0
  159. package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
  160. package/es/tx/builder/field-types/name-id.d.ts +14 -0
  161. package/es/tx/builder/field-types/name-id.mjs +19 -0
  162. package/es/tx/builder/field-types/name-id.mjs.map +1 -0
  163. package/es/tx/builder/field-types/name.d.ts +13 -0
  164. package/es/tx/builder/field-types/name.mjs +18 -0
  165. package/es/tx/builder/field-types/name.mjs.map +1 -0
  166. package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
  167. package/es/tx/builder/field-types/short-u-int.mjs +12 -0
  168. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
  169. package/es/tx/builder/field-types/u-int.d.ts +8 -0
  170. package/es/tx/builder/field-types/u-int.mjs +14 -0
  171. package/es/tx/builder/field-types/u-int.mjs.map +1 -0
  172. package/es/tx/builder/helpers.d.ts +125 -0
  173. package/es/tx/builder/helpers.mjs +94 -240
  174. package/es/tx/builder/helpers.mjs.map +1 -1
  175. package/es/tx/builder/index.d.ts +88 -0
  176. package/es/tx/builder/index.mjs +167 -358
  177. package/es/tx/builder/index.mjs.map +1 -1
  178. package/es/tx/builder/schema.d.ts +1201 -0
  179. package/es/tx/builder/schema.mjs +175 -664
  180. package/es/tx/builder/schema.mjs.map +1 -1
  181. package/es/tx/index.d.ts +64 -0
  182. package/es/tx/index.mjs +151 -265
  183. package/es/tx/index.mjs.map +1 -1
  184. package/es/tx/validator.d.ts +20 -0
  185. package/es/tx/validator.mjs +104 -124
  186. package/es/tx/validator.mjs.map +1 -1
  187. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  188. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  189. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  190. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  191. package/es/typings/bip32-path/index.d.mjs +2 -0
  192. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  193. package/es/typings/blakejs/index.d.mjs.map +1 -1
  194. package/es/typings/sha-js/index.d.mjs +2 -0
  195. package/es/typings/sha-js/index.d.mjs.map +1 -0
  196. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  197. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  198. package/es/utils/amount-formatter.d.ts +42 -0
  199. package/es/utils/amount-formatter.mjs +36 -49
  200. package/es/utils/amount-formatter.mjs.map +1 -1
  201. package/es/utils/autorest.d.ts +6 -0
  202. package/es/utils/autorest.mjs +97 -0
  203. package/es/utils/autorest.mjs.map +1 -0
  204. package/es/utils/bignumber.d.ts +13 -0
  205. package/es/utils/bignumber.mjs +11 -8
  206. package/es/utils/bignumber.mjs.map +1 -1
  207. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  208. package/es/utils/bytes.mjs +11 -15
  209. package/es/utils/bytes.mjs.map +1 -1
  210. package/es/utils/crypto.d.ts +88 -0
  211. package/es/utils/crypto.mjs +64 -108
  212. package/es/utils/crypto.mjs.map +1 -1
  213. package/es/utils/encoder-types.d.ts +61 -0
  214. package/es/utils/encoder-types.mjs +36 -0
  215. package/es/utils/encoder-types.mjs.map +1 -0
  216. package/es/utils/encoder.d.ts +25 -0
  217. package/es/utils/encoder.mjs +118 -0
  218. package/es/utils/encoder.mjs.map +1 -0
  219. package/es/{errors.d.ts → utils/errors.d.ts} +246 -59
  220. package/es/utils/errors.mjs +313 -136
  221. package/es/utils/errors.mjs.map +1 -1
  222. package/es/utils/hd-wallet.d.ts +50 -0
  223. package/es/utils/hd-wallet.mjs +86 -45
  224. package/es/utils/hd-wallet.mjs.map +1 -1
  225. package/es/utils/json-big.d.ts +5 -0
  226. package/es/utils/json-big.mjs +12 -16
  227. package/es/utils/json-big.mjs.map +1 -1
  228. package/es/utils/keystore.d.ts +51 -0
  229. package/es/utils/keystore.mjs +101 -194
  230. package/es/utils/keystore.mjs.map +1 -1
  231. package/es/{mptree.d.ts → utils/mptree.d.ts} +6 -9
  232. package/es/utils/mptree.mjs +22 -18
  233. package/es/utils/mptree.mjs.map +1 -1
  234. package/es/utils/other.d.ts +20 -0
  235. package/es/utils/other.mjs +32 -35
  236. package/es/utils/other.mjs.map +1 -1
  237. package/es/utils/semver-satisfies.d.ts +1 -0
  238. package/es/utils/semver-satisfies.mjs +2 -2
  239. package/es/utils/semver-satisfies.mjs.map +1 -1
  240. package/es/utils/string.d.ts +24 -0
  241. package/es/utils/string.mjs +8 -10
  242. package/es/utils/string.mjs.map +1 -1
  243. package/package.json +56 -42
  244. package/src/AeSdk.ts +68 -0
  245. package/src/AeSdkAepp.ts +176 -0
  246. package/src/AeSdkBase.ts +338 -0
  247. package/src/AeSdkWallet.ts +348 -0
  248. package/src/Node.ts +173 -0
  249. package/src/account/Base.ts +124 -0
  250. package/src/account/Memory.ts +98 -0
  251. package/src/account/Rpc.ts +69 -0
  252. package/src/aens.ts +407 -0
  253. package/src/aepp-wallet-communication/connection/Browser.ts +71 -0
  254. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +59 -0
  255. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +122 -0
  256. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +18 -18
  257. package/src/aepp-wallet-communication/rpc/RpcClient.ts +143 -0
  258. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  259. package/src/aepp-wallet-communication/schema.ts +224 -0
  260. package/src/aepp-wallet-communication/wallet-detector.ts +72 -0
  261. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  262. package/src/apis/compiler/compiler.ts +585 -0
  263. package/src/apis/compiler/index.ts +2 -0
  264. package/src/apis/compiler/models/index.ts +301 -0
  265. package/src/apis/compiler/models/mappers.ts +583 -0
  266. package/src/apis/compiler/models/parameters.ts +93 -0
  267. package/src/apis/node/code-model-v4.yaml +10080 -0
  268. package/src/apis/node/index.ts +2 -0
  269. package/src/apis/node/models/index.ts +1257 -0
  270. package/src/apis/node/models/mappers.ts +4280 -0
  271. package/src/apis/node/models/parameters.ts +188 -0
  272. package/src/apis/node/node.ts +1299 -0
  273. package/src/chain.ts +502 -0
  274. package/src/channel/handlers.ts +817 -0
  275. package/src/channel/index.ts +1025 -0
  276. package/src/channel/internal.ts +361 -0
  277. package/src/contract/Compiler.ts +67 -0
  278. package/src/contract/aci.ts +538 -0
  279. package/src/contract/ga.ts +199 -0
  280. package/src/contract/methods.ts +123 -0
  281. package/src/deprecated/index.ts +170 -0
  282. package/src/deprecated/methods.ts +25 -0
  283. package/src/index.ts +56 -0
  284. package/src/oracle.ts +364 -0
  285. package/src/spend.ts +164 -0
  286. package/src/tx/builder/address.ts +50 -0
  287. package/src/tx/builder/constants.ts +126 -0
  288. package/src/tx/builder/field-types/coin-amount.ts +27 -0
  289. package/src/tx/builder/field-types/deposit.ts +21 -0
  290. package/src/tx/builder/field-types/fee.ts +143 -0
  291. package/src/tx/builder/field-types/field.ts +9 -0
  292. package/src/tx/builder/field-types/gas-limit.ts +41 -0
  293. package/src/tx/builder/field-types/gas-price.ts +16 -0
  294. package/src/tx/builder/field-types/index.ts +45 -0
  295. package/src/tx/builder/field-types/name-fee.ts +32 -0
  296. package/src/tx/builder/field-types/name-id.ts +20 -0
  297. package/src/tx/builder/field-types/name.ts +18 -0
  298. package/src/tx/builder/field-types/short-u-int.ts +11 -0
  299. package/src/tx/builder/field-types/u-int.ts +16 -0
  300. package/src/tx/builder/helpers.ts +248 -0
  301. package/src/tx/builder/index.ts +400 -0
  302. package/src/tx/builder/schema.ts +727 -0
  303. package/src/tx/index.ts +192 -0
  304. package/src/tx/validator.ts +230 -0
  305. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  306. package/src/typings/@aeternity__uuid/index.d.ts +5 -0
  307. package/src/typings/bip32-path/index.d.ts +33 -0
  308. package/src/typings/blakejs/index.d.ts +4 -32
  309. package/src/typings/sha-js/index.d.ts +5 -0
  310. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  311. package/src/utils/amount-formatter.ts +56 -69
  312. package/src/utils/autorest.ts +93 -0
  313. package/src/utils/bignumber.ts +11 -12
  314. package/src/utils/bytes.ts +29 -31
  315. package/src/utils/crypto.ts +205 -0
  316. package/src/utils/encoder-types.ts +63 -0
  317. package/src/utils/encoder.ts +146 -0
  318. package/src/utils/errors.ts +482 -366
  319. package/src/utils/hd-wallet.ts +166 -0
  320. package/src/utils/json-big.ts +27 -0
  321. package/src/utils/keystore.ts +182 -0
  322. package/src/utils/mptree.ts +64 -61
  323. package/src/utils/other.ts +34 -41
  324. package/src/utils/semver-satisfies.ts +15 -11
  325. package/src/utils/string.ts +18 -20
  326. package/es/account/base.mjs +0 -179
  327. package/es/account/base.mjs.map +0 -1
  328. package/es/account/memory.mjs +0 -99
  329. package/es/account/memory.mjs.map +0 -1
  330. package/es/account/multiple.mjs +0 -179
  331. package/es/account/multiple.mjs.map +0 -1
  332. package/es/ae/aens.mjs +0 -404
  333. package/es/ae/aens.mjs.map +0 -1
  334. package/es/ae/aepp.mjs +0 -45
  335. package/es/ae/aepp.mjs.map +0 -1
  336. package/es/ae/contract.mjs +0 -159
  337. package/es/ae/contract.mjs.map +0 -1
  338. package/es/ae/index.mjs +0 -207
  339. package/es/ae/index.mjs.map +0 -1
  340. package/es/ae/oracle.mjs +0 -339
  341. package/es/ae/oracle.mjs.map +0 -1
  342. package/es/ae/universal.mjs +0 -45
  343. package/es/ae/universal.mjs.map +0 -1
  344. package/es/ae/wallet.mjs +0 -50
  345. package/es/ae/wallet.mjs.map +0 -1
  346. package/es/amount-formatter.d.ts +0 -58
  347. package/es/bignumber.d.ts +0 -18
  348. package/es/chain/index.mjs +0 -272
  349. package/es/chain/index.mjs.map +0 -1
  350. package/es/chain/node.mjs +0 -442
  351. package/es/chain/node.mjs.map +0 -1
  352. package/es/contract/compiler.mjs +0 -115
  353. package/es/contract/compiler.mjs.map +0 -1
  354. package/es/contract/ga/helpers.mjs +0 -30
  355. package/es/contract/ga/helpers.mjs.map +0 -1
  356. package/es/contract/ga/index.mjs +0 -178
  357. package/es/contract/ga/index.mjs.map +0 -1
  358. package/es/crypto-ts.d.ts +0 -9
  359. package/es/node-pool/index.mjs +0 -188
  360. package/es/node-pool/index.mjs.map +0 -1
  361. package/es/node.mjs +0 -133
  362. package/es/node.mjs.map +0 -1
  363. package/es/other.d.ts +0 -31
  364. package/es/semver-satisfies.d.ts +0 -1
  365. package/es/string.d.ts +0 -26
  366. package/es/tx/builder/field-types.mjs +0 -74
  367. package/es/tx/builder/field-types.mjs.map +0 -1
  368. package/es/tx/tx-object.mjs +0 -283
  369. package/es/tx/tx-object.mjs.map +0 -1
  370. package/es/tx/tx.mjs +0 -938
  371. package/es/tx/tx.mjs.map +0 -1
  372. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  374. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  376. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  378. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  380. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  381. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  382. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  384. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  386. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  388. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  389. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  390. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  392. package/es/utils/async-init.mjs +0 -64
  393. package/es/utils/async-init.mjs.map +0 -1
  394. package/es/utils/crypto-ts.mjs.map +0 -1
  395. package/es/utils/swagger.mjs +0 -164
  396. package/es/utils/swagger.mjs.map +0 -1
  397. package/src/account/base.js +0 -153
  398. package/src/account/memory.js +0 -83
  399. package/src/account/multiple.js +0 -162
  400. package/src/ae/aens.js +0 -361
  401. package/src/ae/aepp.js +0 -45
  402. package/src/ae/contract.js +0 -148
  403. package/src/ae/index.js +0 -168
  404. package/src/ae/oracle.js +0 -311
  405. package/src/ae/universal.js +0 -47
  406. package/src/ae/wallet.js +0 -50
  407. package/src/chain/index.js +0 -269
  408. package/src/chain/node.js +0 -320
  409. package/src/channel/handlers.js +0 -673
  410. package/src/channel/index.js +0 -898
  411. package/src/channel/internal.js +0 -237
  412. package/src/contract/aci.js +0 -376
  413. package/src/contract/compiler.js +0 -100
  414. package/src/contract/ga/helpers.js +0 -19
  415. package/src/contract/ga/index.js +0 -150
  416. package/src/index.js +0 -89
  417. package/src/node-pool/index.js +0 -172
  418. package/src/node.js +0 -116
  419. package/src/tx/builder/field-types.js +0 -61
  420. package/src/tx/builder/helpers.js +0 -380
  421. package/src/tx/builder/index.js +0 -465
  422. package/src/tx/builder/schema.js +0 -1197
  423. package/src/tx/index.js +0 -301
  424. package/src/tx/tx-object.js +0 -187
  425. package/src/tx/tx.js +0 -631
  426. package/src/tx/validator.js +0 -181
  427. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  428. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  429. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  430. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  431. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  432. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  433. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  434. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  435. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  436. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  437. package/src/utils/async-init.js +0 -45
  438. package/src/utils/crypto.js +0 -229
  439. package/src/utils/hd-wallet.js +0 -100
  440. package/src/utils/json-big.js +0 -26
  441. package/src/utils/keystore.js +0 -219
  442. package/src/utils/swagger.js +0 -156
@@ -0,0 +1,727 @@
1
+ /**
2
+ * Transaction Schema for TxBuilder
3
+ */
4
+ // # RLP version number
5
+ // # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization
6
+
7
+ import BigNumber from 'bignumber.js';
8
+ import { Tag } from './constants';
9
+ import {
10
+ Field, uInt, shortUInt, coinAmount, name, nameId, nameFee, deposit, gasLimit, gasPrice, fee,
11
+ } from './field-types';
12
+ import { Encoded, Encoding } from '../../utils/encoder';
13
+ import MPTree from '../../utils/mptree';
14
+ import { NamePointer } from '../../apis/node';
15
+
16
+ export enum ORACLE_TTL_TYPES {
17
+ delta = 0,
18
+ block = 1,
19
+ }
20
+
21
+ // # TRANSACTION DEFAULT TTL
22
+ export const TX_TTL = 0;
23
+ // # ORACLE
24
+ export const QUERY_FEE = 30000;
25
+ export const ORACLE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 500 };
26
+ export const QUERY_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };
27
+ export const RESPONSE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };
28
+ // # CONTRACT
29
+ export const AMOUNT = 0;
30
+ export const MAX_AUTH_FUN_GAS = 50000;
31
+ export const DRY_RUN_ACCOUNT = {
32
+ pub: 'ak_11111111111111111111111111111111273Yts',
33
+ amount: 100000000000000000000000000000000000n,
34
+ } as const;
35
+
36
+ export type TxField = [
37
+ name: string,
38
+ type: FIELD_TYPES | Field,
39
+ prefix?: Encoding | Encoding[],
40
+ ];
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
+ export enum VM_VERSIONS {
47
+ NO_VM = 0,
48
+ SOPHIA = 1,
49
+ SOPHIA_IMPROVEMENTS_MINERVA = 3,
50
+ SOPHIA_IMPROVEMENTS_FORTUNA = 4,
51
+ FATE = 5,
52
+ SOPHIA_IMPROVEMENTS_LIMA = 6,
53
+ FATE_2 = 7,
54
+ }
55
+
56
+ /**
57
+ * @category transaction builder
58
+ * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
59
+ */
60
+ export enum ABI_VERSIONS {
61
+ NO_ABI = 0,
62
+ SOPHIA = 1,
63
+ FATE = 3,
64
+ }
65
+
66
+ /**
67
+ * @category transaction builder
68
+ */
69
+ export enum PROTOCOL_VERSIONS {
70
+ IRIS = 5,
71
+ }
72
+
73
+ // First abi/vm by default
74
+ export const PROTOCOL_VM_ABI = {
75
+ [PROTOCOL_VERSIONS.IRIS]: {
76
+ [Tag.ContractCreateTx]: {
77
+ vmVersion: [VM_VERSIONS.FATE_2], abiVersion: [ABI_VERSIONS.FATE],
78
+ },
79
+ // TODO: Ensure that AEVM (SOPHIA?) is still available here
80
+ [Tag.ContractCallTx]: {
81
+ vmVersion: [], abiVersion: [ABI_VERSIONS.FATE, ABI_VERSIONS.SOPHIA],
82
+ },
83
+ [Tag.OracleRegisterTx]: {
84
+ vmVersion: [], abiVersion: [ABI_VERSIONS.NO_ABI, ABI_VERSIONS.SOPHIA],
85
+ },
86
+ },
87
+ } as const;
88
+
89
+ type PrefixType<Prefix> = Prefix extends Encoding
90
+ ? Encoded.Generic<Prefix>
91
+ : Prefix extends readonly Encoding[]
92
+ ? Encoded.Generic<Prefix[number]>
93
+ : Encoded.Generic<any>;
94
+
95
+ /**
96
+ * @category transaction builder
97
+ */
98
+ export interface CtVersion {
99
+ vmVersion: VM_VERSIONS;
100
+ abiVersion: ABI_VERSIONS;
101
+ }
102
+
103
+ /**
104
+ * @category transaction builder
105
+ */
106
+ export enum FIELD_TYPES {
107
+ id,
108
+ ids,
109
+ string,
110
+ binary,
111
+ bool,
112
+ hex,
113
+ rlpBinary,
114
+ rlpBinaries,
115
+ rawBinary,
116
+ signatures,
117
+ pointers,
118
+ offChainUpdates,
119
+ callStack,
120
+ proofOfInclusion,
121
+ mptrees,
122
+ callReturnType,
123
+ ctVersion,
124
+ abiVersion,
125
+ ttlType,
126
+ sophiaCodeTypeInfo,
127
+ payload,
128
+ stateTree,
129
+ }
130
+
131
+ interface BuildFieldTypes<Prefix extends undefined | Encoding | readonly Encoding[]> {
132
+ [FIELD_TYPES.id]: PrefixType<Prefix>;
133
+ [FIELD_TYPES.ids]: Array<Encoded.Generic<Prefix extends Encoding[] ? Prefix : any>>;
134
+ [FIELD_TYPES.string]: string;
135
+ [FIELD_TYPES.binary]: PrefixType<Prefix>;
136
+ [FIELD_TYPES.bool]: Boolean;
137
+ [FIELD_TYPES.hex]: string;
138
+ [FIELD_TYPES.rlpBinary]: any;
139
+ [FIELD_TYPES.rlpBinaries]: any[];
140
+ [FIELD_TYPES.rawBinary]: Uint8Array;
141
+ [FIELD_TYPES.signatures]: Uint8Array[];
142
+ [FIELD_TYPES.pointers]: NamePointer[];
143
+ [FIELD_TYPES.offChainUpdates]: any;
144
+ [FIELD_TYPES.callStack]: any;
145
+ [FIELD_TYPES.proofOfInclusion]: any;
146
+ [FIELD_TYPES.mptrees]: MPTree[];
147
+ [FIELD_TYPES.callReturnType]: any;
148
+ [FIELD_TYPES.ctVersion]: CtVersion;
149
+ [FIELD_TYPES.abiVersion]: ABI_VERSIONS;
150
+ [FIELD_TYPES.ttlType]: ORACLE_TTL_TYPES;
151
+ [FIELD_TYPES.sophiaCodeTypeInfo]: any;
152
+ [FIELD_TYPES.payload]: string | undefined;
153
+ [FIELD_TYPES.stateTree]: any;
154
+ }
155
+
156
+ // based on https://stackoverflow.com/a/50375286/6176994
157
+ type UnionToIntersection<Union> =
158
+ (Union extends any ? (k: Union) => void : never) extends ((k: infer Intersection) => void)
159
+ ? Intersection : never;
160
+
161
+ type TxElem = readonly [string, FIELD_TYPES | Field]
162
+ | readonly [string, FIELD_TYPES, Encoding | readonly Encoding[]];
163
+
164
+ type BuildTxArgBySchemaType<
165
+ Type extends FIELD_TYPES | Field,
166
+ Prefix extends undefined | Encoding | readonly Encoding[],
167
+ > =
168
+ Type extends Field
169
+ ? Parameters<Type['serialize']>[0]
170
+ : Type extends FIELD_TYPES
171
+ ? BuildFieldTypes<Prefix>[Type]
172
+ : never;
173
+
174
+ type NullablePartial<
175
+ T,
176
+ NK extends keyof T = { [K in keyof T]: undefined extends T[K] ? K : never }[keyof T],
177
+ > = Partial<Pick<T, NK>> & Omit<T, NK>;
178
+
179
+ type BuildTxArgBySchema<SchemaLine> =
180
+ UnionToIntersection<
181
+ SchemaLine extends ReadonlyArray<infer Elem>
182
+ ? Elem extends TxElem
183
+ ? NullablePartial<{ [k in Elem[0]]: BuildTxArgBySchemaType<Elem[1], Elem[2]> }>
184
+ : never
185
+ : never
186
+ >;
187
+
188
+ export type RawTxObject<Tx extends TxSchema> = {
189
+ [k in keyof Tx]-?: Tx[k] extends BigNumber ? string : Tx[k]
190
+ };
191
+
192
+ const BASE_TX = [
193
+ ['tag', shortUInt],
194
+ ['VSN', shortUInt],
195
+ ] as const;
196
+
197
+ export const TX_SCHEMA = {
198
+ [Tag.Account]: {
199
+ 1: [
200
+ ...BASE_TX,
201
+ ['nonce', shortUInt],
202
+ ['balance', uInt],
203
+ ],
204
+ 2: [
205
+ ...BASE_TX,
206
+ ['flags', uInt],
207
+ ['nonce', shortUInt],
208
+ ['balance', uInt],
209
+ ['gaContract', FIELD_TYPES.id, [Encoding.ContractAddress, Encoding.Name]],
210
+ ['gaAuthFun', FIELD_TYPES.binary, Encoding.ContractBytearray],
211
+ ],
212
+ },
213
+ [Tag.SignedTx]: {
214
+ 1: [
215
+ ...BASE_TX,
216
+ ['signatures', FIELD_TYPES.signatures],
217
+ ['encodedTx', FIELD_TYPES.rlpBinary],
218
+ ],
219
+ },
220
+ [Tag.SpendTx]: {
221
+ 1: [
222
+ ...BASE_TX,
223
+ ['senderId', FIELD_TYPES.id, Encoding.AccountAddress],
224
+ ['recipientId', FIELD_TYPES.id, [Encoding.AccountAddress, Encoding.Name]],
225
+ ['amount', coinAmount],
226
+ ['fee', fee],
227
+ ['ttl', shortUInt],
228
+ ['nonce', shortUInt],
229
+ ['payload', FIELD_TYPES.payload],
230
+ ],
231
+ },
232
+ [Tag.NamePreclaimTx]: {
233
+ 1: [
234
+ ...BASE_TX,
235
+ ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],
236
+ ['nonce', shortUInt],
237
+ ['commitmentId', FIELD_TYPES.id, Encoding.Commitment],
238
+ ['fee', fee],
239
+ ['ttl', shortUInt],
240
+ ],
241
+ },
242
+ [Tag.NameClaimTx]: {
243
+ 2: [
244
+ ...BASE_TX,
245
+ ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],
246
+ ['nonce', shortUInt],
247
+ ['name', name],
248
+ ['nameSalt', uInt],
249
+ ['nameFee', nameFee],
250
+ ['fee', fee],
251
+ ['ttl', shortUInt],
252
+ ],
253
+ },
254
+ [Tag.NameUpdateTx]: {
255
+ 1: [
256
+ ...BASE_TX,
257
+ ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],
258
+ ['nonce', shortUInt],
259
+ ['nameId', nameId],
260
+ ['nameTtl', uInt],
261
+ ['pointers', FIELD_TYPES.pointers],
262
+ ['clientTtl', shortUInt],
263
+ ['fee', fee],
264
+ ['ttl', shortUInt],
265
+ ],
266
+ },
267
+ [Tag.NameTransferTx]: {
268
+ 1: [
269
+ ...BASE_TX,
270
+ ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],
271
+ ['nonce', shortUInt],
272
+ ['nameId', nameId],
273
+ ['recipientId', FIELD_TYPES.id, [Encoding.AccountAddress, Encoding.Name]],
274
+ ['fee', fee],
275
+ ['ttl', shortUInt],
276
+ ],
277
+ },
278
+ [Tag.NameRevokeTx]: {
279
+ 1: [
280
+ ...BASE_TX,
281
+ ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],
282
+ ['nonce', shortUInt],
283
+ ['nameId', nameId],
284
+ ['fee', fee],
285
+ ['ttl', shortUInt],
286
+ ],
287
+ },
288
+ [Tag.Contract]: {
289
+ 1: [
290
+ ...BASE_TX,
291
+ ['owner', FIELD_TYPES.id, Encoding.AccountAddress],
292
+ ['ctVersion', FIELD_TYPES.ctVersion],
293
+ ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],
294
+ ['log', FIELD_TYPES.binary, Encoding.ContractBytearray],
295
+ ['active', FIELD_TYPES.bool],
296
+ ['referers', FIELD_TYPES.ids, Encoding.AccountAddress],
297
+ ['deposit', deposit],
298
+ ],
299
+ },
300
+ [Tag.ContractCreateTx]: {
301
+ 1: [
302
+ ...BASE_TX,
303
+ ['ownerId', FIELD_TYPES.id, Encoding.AccountAddress],
304
+ ['nonce', shortUInt],
305
+ ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],
306
+ ['ctVersion', FIELD_TYPES.ctVersion],
307
+ ['fee', fee],
308
+ ['ttl', shortUInt],
309
+ ['deposit', deposit],
310
+ ['amount', coinAmount],
311
+ ['gasLimit', gasLimit],
312
+ ['gasPrice', gasPrice],
313
+ ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],
314
+ ],
315
+ },
316
+ [Tag.ContractCallTx]: {
317
+ 1: [
318
+ ...BASE_TX,
319
+ ['callerId', FIELD_TYPES.id, Encoding.AccountAddress],
320
+ ['nonce', shortUInt],
321
+ ['contractId', FIELD_TYPES.id, [Encoding.ContractAddress, Encoding.Name]],
322
+ ['abiVersion', FIELD_TYPES.abiVersion],
323
+ ['fee', fee],
324
+ ['ttl', shortUInt],
325
+ ['amount', coinAmount],
326
+ ['gasLimit', gasLimit],
327
+ ['gasPrice', gasPrice],
328
+ ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],
329
+ ],
330
+ },
331
+ [Tag.ContractCall]: {
332
+ 1: [
333
+ ...BASE_TX,
334
+ ['callerId', FIELD_TYPES.id, Encoding.AccountAddress],
335
+ ['callerNonce', shortUInt],
336
+ ['height', shortUInt],
337
+ ['contractId', FIELD_TYPES.id, Encoding.ContractAddress],
338
+ ['gasPrice', gasPrice],
339
+ ['gasUsed', shortUInt],
340
+ ['returnValue', FIELD_TYPES.binary, Encoding.ContractBytearray],
341
+ ['returnType', FIELD_TYPES.callReturnType],
342
+ // TODO: add serialization for
343
+ // <log> :: [ { <address> :: id, [ <topics> :: binary() ], <data> :: binary() } ]
344
+ ['log', FIELD_TYPES.rawBinary],
345
+ ],
346
+ },
347
+ [Tag.OracleRegisterTx]: {
348
+ 1: [
349
+ ...BASE_TX,
350
+ ['accountId', FIELD_TYPES.id, Encoding.AccountAddress],
351
+ ['nonce', shortUInt],
352
+ ['queryFormat', FIELD_TYPES.string],
353
+ ['responseFormat', FIELD_TYPES.string],
354
+ ['queryFee', coinAmount],
355
+ ['oracleTtlType', FIELD_TYPES.ttlType],
356
+ ['oracleTtlValue', shortUInt],
357
+ ['fee', fee],
358
+ ['ttl', shortUInt],
359
+ ['abiVersion', FIELD_TYPES.abiVersion],
360
+ ],
361
+ },
362
+ [Tag.OracleExtendTx]: {
363
+ 1: [
364
+ ...BASE_TX,
365
+ ['oracleId', FIELD_TYPES.id, [Encoding.OracleAddress, Encoding.Name]],
366
+ ['nonce', shortUInt],
367
+ ['oracleTtlType', FIELD_TYPES.ttlType],
368
+ ['oracleTtlValue', shortUInt],
369
+ ['fee', fee],
370
+ ['ttl', shortUInt],
371
+ ],
372
+ },
373
+ [Tag.OracleQueryTx]: {
374
+ 1: [
375
+ ...BASE_TX,
376
+ ['senderId', FIELD_TYPES.id, Encoding.AccountAddress],
377
+ ['nonce', shortUInt],
378
+ ['oracleId', FIELD_TYPES.id, [Encoding.OracleAddress, Encoding.Name]],
379
+ ['query', FIELD_TYPES.string],
380
+ ['queryFee', coinAmount],
381
+ ['queryTtlType', FIELD_TYPES.ttlType],
382
+ ['queryTtlValue', shortUInt],
383
+ ['responseTtlType', FIELD_TYPES.ttlType],
384
+ ['responseTtlValue', shortUInt],
385
+ ['fee', fee],
386
+ ['ttl', shortUInt],
387
+ ],
388
+ },
389
+ [Tag.OracleResponseTx]: {
390
+ 1: [
391
+ ...BASE_TX,
392
+ ['oracleId', FIELD_TYPES.id, Encoding.OracleAddress],
393
+ ['nonce', shortUInt],
394
+ ['queryId', FIELD_TYPES.binary, Encoding.OracleQueryId],
395
+ ['response', FIELD_TYPES.string],
396
+ ['responseTtlType', FIELD_TYPES.ttlType],
397
+ ['responseTtlValue', shortUInt],
398
+ ['fee', fee],
399
+ ['ttl', shortUInt],
400
+ ],
401
+ },
402
+ [Tag.ChannelCreateTx]: {
403
+ 2: [
404
+ ...BASE_TX,
405
+ ['initiator', FIELD_TYPES.id, Encoding.AccountAddress],
406
+ ['initiatorAmount', uInt],
407
+ ['responder', FIELD_TYPES.id, Encoding.AccountAddress],
408
+ ['responderAmount', uInt],
409
+ ['channelReserve', uInt],
410
+ ['lockPeriod', uInt],
411
+ ['ttl', shortUInt],
412
+ ['fee', fee],
413
+ ['initiatorDelegateIds', FIELD_TYPES.string],
414
+ ['responderDelegateIds', FIELD_TYPES.string],
415
+ ['stateHash', FIELD_TYPES.binary, 'st'],
416
+ ['nonce', shortUInt],
417
+ ],
418
+ },
419
+ [Tag.ChannelCloseMutualTx]: {
420
+ 1: [
421
+ ...BASE_TX,
422
+ ['channelId', FIELD_TYPES.id, Encoding.Channel],
423
+ ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],
424
+ ['initiatorAmountFinal', uInt],
425
+ ['responderAmountFinal', uInt],
426
+ ['ttl', shortUInt],
427
+ ['fee', fee],
428
+ ['nonce', shortUInt],
429
+ ],
430
+ },
431
+ [Tag.ChannelCloseSoloTx]: {
432
+ 1: [
433
+ ...BASE_TX,
434
+ ['channelId', FIELD_TYPES.id, Encoding.Channel],
435
+ ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],
436
+ ['payload', FIELD_TYPES.binary, 'tx'],
437
+ ['poi', FIELD_TYPES.binary, 'pi'],
438
+ ['ttl', shortUInt],
439
+ ['fee', fee],
440
+ ['nonce', shortUInt],
441
+ ],
442
+ },
443
+ [Tag.ChannelSlashTx]: {
444
+ 1: [
445
+ ...BASE_TX,
446
+ ['channelId', FIELD_TYPES.id, Encoding.Channel],
447
+ ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],
448
+ ['payload', FIELD_TYPES.binary, 'tx'],
449
+ ['poi', FIELD_TYPES.binary, 'pi'],
450
+ ['ttl', shortUInt],
451
+ ['fee', fee],
452
+ ['nonce', shortUInt],
453
+ ],
454
+ },
455
+ [Tag.ChannelDepositTx]: {
456
+ 1: [
457
+ ...BASE_TX,
458
+ ['channelId', FIELD_TYPES.id, Encoding.Channel],
459
+ ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],
460
+ ['amount', uInt],
461
+ ['ttl', shortUInt],
462
+ ['fee', fee],
463
+ ['stateHash', FIELD_TYPES.binary, 'st'],
464
+ ['round', shortUInt],
465
+ ['nonce', shortUInt],
466
+ ],
467
+ },
468
+ [Tag.ChannelWithdrawTx]: {
469
+ 1: [
470
+ ...BASE_TX,
471
+ ['channelId', FIELD_TYPES.id, Encoding.Channel],
472
+ ['toId', FIELD_TYPES.id, Encoding.AccountAddress],
473
+ ['amount', uInt],
474
+ ['ttl', shortUInt],
475
+ ['fee', fee],
476
+ ['stateHash', FIELD_TYPES.binary, 'st'],
477
+ ['round', shortUInt],
478
+ ['nonce', shortUInt],
479
+ ],
480
+ },
481
+ [Tag.ChannelSettleTx]: {
482
+ 1: [
483
+ ...BASE_TX,
484
+ ['channelId', FIELD_TYPES.id, Encoding.Channel],
485
+ ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],
486
+ ['initiatorAmountFinal', uInt],
487
+ ['responderAmountFinal', uInt],
488
+ ['ttl', shortUInt],
489
+ ['fee', fee],
490
+ ['nonce', shortUInt],
491
+ ],
492
+ },
493
+ [Tag.ChannelForceProgressTx]: {
494
+ 1: [
495
+ ...BASE_TX,
496
+ ['channelId', FIELD_TYPES.id, Encoding.Channel],
497
+ ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],
498
+ ['payload', FIELD_TYPES.binary, 'tx'],
499
+ ['round', shortUInt],
500
+ ['update', FIELD_TYPES.binary, Encoding.ContractBytearray],
501
+ ['stateHash', FIELD_TYPES.binary, 'st'],
502
+ ['offChainTrees', FIELD_TYPES.stateTree],
503
+ ['ttl', shortUInt],
504
+ ['fee', fee],
505
+ ['nonce', shortUInt],
506
+ ],
507
+ },
508
+ [Tag.ChannelOffChainTx]: {
509
+ 2: [
510
+ ...BASE_TX,
511
+ ['channelId', FIELD_TYPES.id, Encoding.Channel],
512
+ ['round', shortUInt],
513
+ ['stateHash', FIELD_TYPES.binary, 'st'],
514
+ ],
515
+ },
516
+ [Tag.Channel]: {
517
+ 3: [
518
+ ...BASE_TX,
519
+ ['initiator', FIELD_TYPES.id, Encoding.AccountAddress],
520
+ ['responder', FIELD_TYPES.id, Encoding.AccountAddress],
521
+ ['channelAmount', uInt],
522
+ ['initiatorAmount', uInt],
523
+ ['responderAmount', uInt],
524
+ ['channelReserve', uInt],
525
+ ['initiatorDelegateIds', FIELD_TYPES.ids],
526
+ ['responderDelegateIds', FIELD_TYPES.ids],
527
+ ['stateHash', FIELD_TYPES.hex],
528
+ ['round', shortUInt],
529
+ ['soloRound', uInt],
530
+ ['lockPeriod', uInt],
531
+ ['lockedUntil', uInt],
532
+ ['initiatorAuth', FIELD_TYPES.binary, Encoding.ContractBytearray],
533
+ ['responderAuth', FIELD_TYPES.binary, Encoding.ContractBytearray],
534
+ ],
535
+ },
536
+ [Tag.ChannelSnapshotSoloTx]: {
537
+ 1: [
538
+ ...BASE_TX,
539
+ ['channelId', FIELD_TYPES.id, Encoding.Channel],
540
+ ['fromId', FIELD_TYPES.id, Encoding.AccountAddress],
541
+ ['payload', FIELD_TYPES.binary, 'tx'],
542
+ ['ttl', shortUInt],
543
+ ['fee', fee],
544
+ ['nonce', shortUInt],
545
+ ],
546
+ },
547
+ [Tag.ChannelOffChainUpdateTransfer]: {
548
+ 1: [
549
+ ...BASE_TX,
550
+ ['from', FIELD_TYPES.id, Encoding.AccountAddress],
551
+ ['to', FIELD_TYPES.id, Encoding.AccountAddress],
552
+ ['amount', uInt],
553
+ ],
554
+ },
555
+ [Tag.ChannelOffChainUpdateDeposit]: {
556
+ 1: [
557
+ ...BASE_TX,
558
+ ['from', FIELD_TYPES.id, Encoding.AccountAddress],
559
+ ['amount', uInt],
560
+ ],
561
+ },
562
+ [Tag.ChannelOffChainUpdateWithdraw]: {
563
+ 1: [
564
+ ...BASE_TX,
565
+ ['from', FIELD_TYPES.id, Encoding.AccountAddress],
566
+ ['amount', uInt],
567
+ ],
568
+ },
569
+ [Tag.ChannelOffChainUpdateCreateContract]: {
570
+ 1: [
571
+ ...BASE_TX,
572
+ ['owner', FIELD_TYPES.id, Encoding.AccountAddress],
573
+ ['ctVersion', FIELD_TYPES.ctVersion],
574
+ ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],
575
+ ['deposit', uInt],
576
+ ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],
577
+ ],
578
+ },
579
+ [Tag.ChannelOffChainUpdateCallContract]: {
580
+ 1: [
581
+ ...BASE_TX,
582
+ ['caller', FIELD_TYPES.id, Encoding.AccountAddress],
583
+ ['contract', FIELD_TYPES.id, Encoding.ContractAddress],
584
+ ['abiVersion', FIELD_TYPES.abiVersion],
585
+ ['amount', uInt],
586
+ ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],
587
+ ['callStack', FIELD_TYPES.callStack],
588
+ ['gasPrice', gasPrice],
589
+ ['gasLimit', gasLimit],
590
+ ],
591
+ },
592
+ [Tag.ChannelClientReconnectTx]: {
593
+ 1: [
594
+ ...BASE_TX,
595
+ ['channelId', FIELD_TYPES.id, Encoding.Channel],
596
+ ['round', shortUInt],
597
+ ['role', FIELD_TYPES.string],
598
+ ['pubkey', FIELD_TYPES.id, Encoding.AccountAddress],
599
+ ],
600
+ },
601
+ [Tag.TreesPoi]: {
602
+ 1: [
603
+ ...BASE_TX,
604
+ ['accounts', FIELD_TYPES.mptrees],
605
+ ['calls', FIELD_TYPES.mptrees],
606
+ ['channels', FIELD_TYPES.mptrees],
607
+ ['contracts', FIELD_TYPES.mptrees],
608
+ ['ns', FIELD_TYPES.mptrees],
609
+ ['oracles', FIELD_TYPES.mptrees],
610
+ ],
611
+ },
612
+ [Tag.StateTrees]: {
613
+ 1: [
614
+ ...BASE_TX,
615
+ ['contracts', FIELD_TYPES.rlpBinary],
616
+ ['calls', FIELD_TYPES.rlpBinary],
617
+ ['channels', FIELD_TYPES.rlpBinary],
618
+ ['ns', FIELD_TYPES.rlpBinary],
619
+ ['oracles', FIELD_TYPES.rlpBinary],
620
+ ['accounts', FIELD_TYPES.rlpBinary],
621
+ ],
622
+ },
623
+ [Tag.Mtree]: {
624
+ 1: [
625
+ ...BASE_TX,
626
+ ['values', FIELD_TYPES.rlpBinaries],
627
+ ],
628
+ },
629
+ [Tag.MtreeValue]: {
630
+ 1: [
631
+ ...BASE_TX,
632
+ ['key', FIELD_TYPES.hex],
633
+ ['value', FIELD_TYPES.rawBinary],
634
+ ],
635
+ },
636
+ [Tag.ContractsMtree]: {
637
+ 1: [
638
+ ...BASE_TX,
639
+ ['contracts', FIELD_TYPES.rlpBinary],
640
+ ],
641
+ },
642
+ [Tag.CallsMtree]: {
643
+ 1: [
644
+ ...BASE_TX,
645
+ ['calls', FIELD_TYPES.rlpBinary],
646
+ ],
647
+ },
648
+ [Tag.ChannelsMtree]: {
649
+ 1: [
650
+ ...BASE_TX,
651
+ ['channels', FIELD_TYPES.rlpBinary],
652
+ ],
653
+ },
654
+ [Tag.NameserviceMtree]: {
655
+ 1: [
656
+ ...BASE_TX,
657
+ ['mtree', FIELD_TYPES.rlpBinary],
658
+ ],
659
+ },
660
+ [Tag.OraclesMtree]: {
661
+ 1: [
662
+ ...BASE_TX,
663
+ ['otree', FIELD_TYPES.rlpBinary],
664
+ ],
665
+ },
666
+ [Tag.AccountsMtree]: {
667
+ 1: [
668
+ ...BASE_TX,
669
+ ['accounts', FIELD_TYPES.rlpBinary],
670
+ ],
671
+ },
672
+ [Tag.GaAttachTx]: {
673
+ 1: [
674
+ ...BASE_TX,
675
+ ['ownerId', FIELD_TYPES.id, Encoding.AccountAddress],
676
+ ['nonce', shortUInt],
677
+ ['code', FIELD_TYPES.binary, Encoding.ContractBytearray],
678
+ ['authFun', FIELD_TYPES.rawBinary],
679
+ ['ctVersion', FIELD_TYPES.ctVersion],
680
+ ['fee', fee],
681
+ ['ttl', shortUInt],
682
+ ['gasLimit', gasLimit],
683
+ ['gasPrice', gasPrice],
684
+ ['callData', FIELD_TYPES.binary, Encoding.ContractBytearray],
685
+ ],
686
+ },
687
+ [Tag.GaMetaTx]: {
688
+ 2: [
689
+ ...BASE_TX,
690
+ ['gaId', FIELD_TYPES.id, Encoding.AccountAddress],
691
+ ['authData', FIELD_TYPES.binary, Encoding.ContractBytearray],
692
+ ['abiVersion', FIELD_TYPES.abiVersion],
693
+ ['fee', fee],
694
+ ['gasLimit', gasLimit],
695
+ ['gasPrice', gasPrice],
696
+ ['tx', FIELD_TYPES.rlpBinary],
697
+ ],
698
+ },
699
+ [Tag.PayingForTx]: {
700
+ 1: [
701
+ ...BASE_TX,
702
+ ['payerId', FIELD_TYPES.id, Encoding.AccountAddress],
703
+ ['nonce', shortUInt],
704
+ ['fee', fee],
705
+ ['tx', FIELD_TYPES.rlpBinary],
706
+ ],
707
+ },
708
+ [Tag.CompilerSophia]: {
709
+ 3: [
710
+ ...BASE_TX,
711
+ ['sourceCodeHash', FIELD_TYPES.rawBinary],
712
+ ['typeInfo', FIELD_TYPES.sophiaCodeTypeInfo],
713
+ ['byteCode', FIELD_TYPES.rawBinary],
714
+ ['compilerVersion', FIELD_TYPES.string],
715
+ ['payable', FIELD_TYPES.bool],
716
+ ],
717
+ },
718
+ } as const;
719
+
720
+ export type TxTypeSchemas = {
721
+ [key in Tag]: BuildTxArgBySchema<
722
+ typeof TX_SCHEMA[key][keyof typeof TX_SCHEMA[key]]
723
+ >
724
+ };
725
+
726
+ export type TxSchema = TxTypeSchemas[Tag];
727
+ export type TxParamsCommon = Partial<UnionToIntersection<TxSchema>>;