@aeternity/aepp-sdk 12.1.3 → 13.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (565) hide show
  1. package/bin/aesophia_cli +0 -0
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.map +1 -1
  4. package/dist/aepp-sdk.browser.js +1 -1
  5. package/dist/aepp-sdk.browser.js.map +1 -1
  6. package/dist/aepp-sdk.js +12031 -11231
  7. package/dist/aepp-sdk.js.map +1 -1
  8. package/es/AeSdk.d.ts +7 -3
  9. package/es/AeSdk.mjs +17 -22
  10. package/es/AeSdk.mjs.map +1 -1
  11. package/es/AeSdkAepp.d.ts +6 -5
  12. package/es/AeSdkAepp.mjs +7 -30
  13. package/es/AeSdkAepp.mjs.map +1 -1
  14. package/es/AeSdkBase.d.ts +18 -140
  15. package/es/AeSdkBase.mjs +30 -184
  16. package/es/AeSdkBase.mjs.map +1 -1
  17. package/es/AeSdkMethods.d.ts +123 -0
  18. package/es/AeSdkMethods.mjs +122 -0
  19. package/es/AeSdkMethods.mjs.map +1 -0
  20. package/es/AeSdkWallet.d.ts +7 -21
  21. package/es/AeSdkWallet.mjs +38 -86
  22. package/es/AeSdkWallet.mjs.map +1 -1
  23. package/es/Node.d.ts +11 -15
  24. package/es/Node.mjs +35 -48
  25. package/es/Node.mjs.map +1 -1
  26. package/es/account/Base.d.ts +24 -40
  27. package/es/account/Base.mjs +1 -101
  28. package/es/account/Base.mjs.map +1 -1
  29. package/es/account/Generalized.d.ts +16 -0
  30. package/es/account/Generalized.mjs +113 -0
  31. package/es/account/Generalized.mjs.map +1 -0
  32. package/es/account/Ledger.d.ts +28 -0
  33. package/es/account/Ledger.mjs +102 -0
  34. package/es/account/Ledger.mjs.map +1 -0
  35. package/es/account/LedgerFactory.d.ts +39 -0
  36. package/es/account/LedgerFactory.mjs +81 -0
  37. package/es/account/LedgerFactory.mjs.map +1 -0
  38. package/es/account/Memory.d.ts +13 -17
  39. package/es/account/Memory.mjs +43 -64
  40. package/es/account/Memory.mjs.map +1 -1
  41. package/es/account/Rpc.d.ts +6 -8
  42. package/es/account/Rpc.mjs +14 -32
  43. package/es/account/Rpc.mjs.map +1 -1
  44. package/es/aens.d.ts +4 -4
  45. package/es/aens.mjs +46 -41
  46. package/es/aens.mjs.map +1 -1
  47. package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
  48. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  49. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  50. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +22 -11
  51. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  52. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
  53. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
  54. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  55. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  56. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
  57. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -42
  58. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  59. package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
  60. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  61. package/es/aepp-wallet-communication/schema.mjs +14 -68
  62. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  63. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
  64. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  65. package/es/apis/compiler/compiler.d.ts +23 -29
  66. package/es/apis/compiler/compiler.mjs +128 -189
  67. package/es/apis/compiler/compiler.mjs.map +1 -1
  68. package/es/apis/compiler/index.mjs.map +1 -1
  69. package/es/apis/compiler/models/index.d.ts +82 -135
  70. package/es/apis/compiler/models/index.mjs +1 -47
  71. package/es/apis/compiler/models/index.mjs.map +1 -1
  72. package/es/apis/compiler/models/mappers.d.ts +8 -8
  73. package/es/apis/compiler/models/mappers.mjs +165 -183
  74. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  75. package/es/apis/compiler/models/parameters.d.ts +0 -1
  76. package/es/apis/compiler/models/parameters.mjs +5 -9
  77. package/es/apis/compiler/models/parameters.mjs.map +1 -1
  78. package/es/apis/node/index.mjs.map +1 -1
  79. package/es/apis/node/models/index.d.ts +48 -48
  80. package/es/apis/node/models/mappers.mjs +12 -6
  81. package/es/apis/node/models/mappers.mjs.map +1 -1
  82. package/es/apis/node/models/parameters.mjs.map +1 -1
  83. package/es/apis/node/node.mjs +43 -84
  84. package/es/apis/node/node.mjs.map +1 -1
  85. package/es/chain.d.ts +10 -2
  86. package/es/chain.mjs +37 -59
  87. package/es/chain.mjs.map +1 -1
  88. package/es/channel/Base.d.ts +200 -0
  89. package/es/channel/Base.mjs +293 -0
  90. package/es/channel/Base.mjs.map +1 -0
  91. package/es/channel/Contract.d.ts +248 -0
  92. package/es/channel/Contract.mjs +420 -0
  93. package/es/channel/Contract.mjs.map +1 -0
  94. package/es/channel/Spend.d.ts +219 -0
  95. package/es/channel/Spend.mjs +385 -0
  96. package/es/channel/Spend.mjs.map +1 -0
  97. package/es/channel/handlers.d.ts +8 -21
  98. package/es/channel/handlers.mjs +151 -899
  99. package/es/channel/handlers.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +27 -21
  101. package/es/channel/internal.mjs +101 -191
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Contract.d.ts +210 -0
  104. package/es/contract/Contract.mjs +551 -0
  105. package/es/contract/Contract.mjs.map +1 -0
  106. package/es/contract/compiler/Base.d.ts +81 -0
  107. package/es/contract/compiler/Base.mjs +5 -0
  108. package/es/contract/compiler/Base.mjs.map +1 -0
  109. package/es/contract/compiler/Cli.d.ts +23 -0
  110. package/es/contract/compiler/Cli.mjs +155 -0
  111. package/es/contract/compiler/Cli.mjs.map +1 -0
  112. package/es/contract/compiler/Http.d.ts +32 -0
  113. package/es/contract/compiler/Http.mjs +118 -0
  114. package/es/contract/compiler/Http.mjs.map +1 -0
  115. package/es/contract/compiler/HttpNode.d.ts +17 -0
  116. package/es/contract/compiler/HttpNode.mjs +26 -0
  117. package/es/contract/compiler/HttpNode.mjs.map +1 -0
  118. package/es/contract/compiler/getFileSystem.d.ts +6 -0
  119. package/es/contract/compiler/getFileSystem.mjs +40 -0
  120. package/es/contract/compiler/getFileSystem.mjs.map +1 -0
  121. package/es/contract/ga.d.ts +9 -34
  122. package/es/contract/ga.mjs +29 -112
  123. package/es/contract/ga.mjs.map +1 -1
  124. package/es/index-browser.d.ts +39 -0
  125. package/es/index-browser.mjs +55 -0
  126. package/es/index-browser.mjs.map +1 -0
  127. package/es/index.d.ts +4 -35
  128. package/es/index.mjs +4 -51
  129. package/es/index.mjs.map +1 -1
  130. package/es/oracle.d.ts +5 -5
  131. package/es/oracle.mjs +34 -40
  132. package/es/oracle.mjs.map +1 -1
  133. package/es/spend.d.ts +3 -3
  134. package/es/spend.mjs +18 -23
  135. package/es/spend.mjs.map +1 -1
  136. package/es/tx/builder/constants.d.ts +30 -2
  137. package/es/tx/builder/constants.mjs +43 -14
  138. package/es/tx/builder/constants.mjs.map +1 -1
  139. package/es/tx/builder/field-types/abi-version.d.ts +10 -0
  140. package/es/tx/builder/field-types/abi-version.mjs +20 -0
  141. package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
  142. package/es/tx/builder/field-types/address.d.ts +14 -0
  143. package/es/tx/builder/field-types/address.mjs +51 -0
  144. package/es/tx/builder/field-types/address.mjs.map +1 -0
  145. package/es/tx/builder/field-types/array.d.ts +7 -0
  146. package/es/tx/builder/field-types/array.mjs +11 -0
  147. package/es/tx/builder/field-types/array.mjs.map +1 -0
  148. package/es/tx/builder/field-types/boolean.d.ts +6 -0
  149. package/es/tx/builder/field-types/boolean.mjs +13 -0
  150. package/es/tx/builder/field-types/boolean.mjs.map +1 -0
  151. package/es/tx/builder/field-types/coin-amount.d.ts +2 -3
  152. package/es/tx/builder/field-types/coin-amount.mjs +4 -12
  153. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  154. package/es/tx/builder/field-types/ct-version.d.ts +30 -0
  155. package/es/tx/builder/field-types/ct-version.mjs +48 -0
  156. package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
  157. package/es/tx/builder/field-types/deposit.d.ts +1 -2
  158. package/es/tx/builder/field-types/deposit.mjs +2 -4
  159. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  160. package/es/tx/builder/field-types/encoded.d.ts +6 -0
  161. package/es/tx/builder/field-types/encoded.mjs +21 -0
  162. package/es/tx/builder/field-types/encoded.mjs.map +1 -0
  163. package/es/tx/builder/field-types/entry.d.ts +11 -0
  164. package/es/tx/builder/field-types/entry.mjs +31 -0
  165. package/es/tx/builder/field-types/entry.mjs.map +1 -0
  166. package/es/tx/builder/field-types/enumeration.d.ts +7 -0
  167. package/es/tx/builder/field-types/enumeration.mjs +30 -0
  168. package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
  169. package/es/tx/builder/field-types/fee.d.ts +10 -15
  170. package/es/tx/builder/field-types/fee.mjs +31 -43
  171. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  172. package/es/tx/builder/field-types/field.mjs +0 -2
  173. package/es/tx/builder/field-types/field.mjs.map +1 -1
  174. package/es/tx/builder/field-types/gas-limit.d.ts +5 -2
  175. package/es/tx/builder/field-types/gas-limit.mjs +12 -14
  176. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  177. package/es/tx/builder/field-types/gas-price.d.ts +1 -2
  178. package/es/tx/builder/field-types/gas-price.mjs +3 -7
  179. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  180. package/es/tx/builder/field-types/index.d.ts +80 -30
  181. package/es/tx/builder/field-types/index.mjs +34 -9
  182. package/es/tx/builder/field-types/index.mjs.map +1 -1
  183. package/es/tx/builder/field-types/mptree.d.ts +37 -0
  184. package/es/tx/builder/field-types/mptree.mjs +268 -0
  185. package/es/tx/builder/field-types/mptree.mjs.map +1 -0
  186. package/es/tx/builder/field-types/name-fee.d.ts +1 -3
  187. package/es/tx/builder/field-types/name-fee.mjs +3 -5
  188. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  189. package/es/tx/builder/field-types/name-id.d.ts +1 -4
  190. package/es/tx/builder/field-types/name-id.mjs +5 -10
  191. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  192. package/es/tx/builder/field-types/name.mjs +0 -2
  193. package/es/tx/builder/field-types/name.mjs.map +1 -1
  194. package/es/tx/builder/field-types/pointers.d.ts +23 -0
  195. package/es/tx/builder/field-types/pointers.mjs +36 -0
  196. package/es/tx/builder/field-types/pointers.mjs.map +1 -0
  197. package/es/tx/builder/field-types/raw.d.ts +6 -0
  198. package/es/tx/builder/field-types/raw.mjs +13 -0
  199. package/es/tx/builder/field-types/raw.mjs.map +1 -0
  200. package/es/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  201. package/es/tx/builder/field-types/short-u-int-const.mjs +16 -0
  202. package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
  203. package/es/tx/builder/field-types/short-u-int.mjs +0 -2
  204. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
  205. package/es/tx/builder/field-types/string.d.ts +6 -0
  206. package/es/tx/builder/field-types/string.mjs +10 -0
  207. package/es/tx/builder/field-types/string.mjs.map +1 -0
  208. package/es/tx/builder/field-types/u-int.d.ts +1 -2
  209. package/es/tx/builder/field-types/u-int.mjs +3 -4
  210. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  211. package/es/tx/builder/helpers.d.ts +2 -32
  212. package/es/tx/builder/helpers.mjs +19 -71
  213. package/es/tx/builder/helpers.mjs.map +1 -1
  214. package/es/tx/builder/index.d.ts +11 -49
  215. package/es/tx/builder/index.mjs +57 -337
  216. package/es/tx/builder/index.mjs.map +1 -1
  217. package/es/tx/builder/schema.d.ts +2367 -667
  218. package/es/tx/builder/schema.mjs +70 -145
  219. package/es/tx/builder/schema.mjs.map +1 -1
  220. package/es/tx/index.d.ts +4 -49
  221. package/es/tx/index.mjs +38 -112
  222. package/es/tx/index.mjs.map +1 -1
  223. package/es/tx/validator.d.ts +4 -6
  224. package/es/tx/validator.mjs +104 -90
  225. package/es/tx/validator.mjs.map +1 -1
  226. package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
  227. package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
  228. package/es/utils/amount-formatter.mjs +4 -10
  229. package/es/utils/amount-formatter.mjs.map +1 -1
  230. package/es/utils/autorest.d.ts +1 -0
  231. package/es/utils/autorest.mjs +17 -19
  232. package/es/utils/autorest.mjs.map +1 -1
  233. package/es/utils/bignumber.mjs +4 -7
  234. package/es/utils/bignumber.mjs.map +1 -1
  235. package/es/utils/bytes.d.ts +0 -17
  236. package/es/utils/bytes.mjs +6 -35
  237. package/es/utils/bytes.mjs.map +1 -1
  238. package/es/utils/crypto.d.ts +15 -8
  239. package/es/utils/crypto.mjs +40 -40
  240. package/es/utils/crypto.mjs.map +1 -1
  241. package/es/utils/encoder-types.d.ts +28 -28
  242. package/es/utils/encoder-types.mjs +0 -1
  243. package/es/utils/encoder-types.mjs.map +1 -1
  244. package/es/utils/encoder.d.ts +0 -1
  245. package/es/utils/encoder.mjs +7 -15
  246. package/es/utils/encoder.mjs.map +1 -1
  247. package/es/utils/errors.d.ts +15 -14
  248. package/es/utils/errors.mjs +86 -172
  249. package/es/utils/errors.mjs.map +1 -1
  250. package/es/utils/hd-wallet.d.ts +27 -19
  251. package/es/utils/hd-wallet.mjs +42 -26
  252. package/es/utils/hd-wallet.mjs.map +1 -1
  253. package/es/utils/json-big.mjs +0 -8
  254. package/es/utils/json-big.mjs.map +1 -1
  255. package/es/utils/keystore.d.ts +2 -0
  256. package/es/utils/keystore.mjs +37 -36
  257. package/es/utils/keystore.mjs.map +1 -1
  258. package/es/utils/other.d.ts +4 -2
  259. package/es/utils/other.mjs +11 -7
  260. package/es/utils/other.mjs.map +1 -1
  261. package/es/utils/semver-satisfies.mjs +0 -3
  262. package/es/utils/semver-satisfies.mjs.map +1 -1
  263. package/es/utils/string.d.ts +0 -12
  264. package/es/utils/string.mjs +1 -21
  265. package/es/utils/string.mjs.map +1 -1
  266. package/package.json +98 -51
  267. package/src/AeSdk.ts +15 -11
  268. package/src/AeSdkAepp.ts +9 -7
  269. package/src/AeSdkBase.ts +31 -202
  270. package/src/AeSdkMethods.ts +169 -0
  271. package/src/AeSdkWallet.ts +16 -47
  272. package/src/Node.ts +17 -18
  273. package/src/account/Base.ts +29 -75
  274. package/src/account/Generalized.ts +98 -0
  275. package/src/account/Ledger.ts +131 -0
  276. package/src/account/LedgerFactory.ts +86 -0
  277. package/src/account/Memory.ts +46 -60
  278. package/src/account/Rpc.ts +17 -26
  279. package/src/aens.ts +13 -11
  280. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +21 -9
  281. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
  282. package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -4
  283. package/src/aepp-wallet-communication/rpc/types.ts +11 -1
  284. package/src/aepp-wallet-communication/schema.ts +18 -18
  285. package/src/apis/compiler/code-model-v4.yaml +681 -888
  286. package/src/apis/compiler/compiler.ts +113 -154
  287. package/src/apis/compiler/models/index.ts +80 -140
  288. package/src/apis/compiler/models/mappers.ts +165 -183
  289. package/src/apis/compiler/models/parameters.ts +6 -12
  290. package/src/chain.ts +11 -6
  291. package/src/channel/Base.ts +335 -0
  292. package/src/channel/Contract.ts +488 -0
  293. package/src/channel/Spend.ts +408 -0
  294. package/src/channel/handlers.ts +164 -582
  295. package/src/channel/internal.ts +114 -143
  296. package/src/contract/Contract.ts +610 -0
  297. package/src/contract/compiler/Base.ts +94 -0
  298. package/src/contract/compiler/Cli.ts +134 -0
  299. package/src/contract/compiler/Http.ts +124 -0
  300. package/src/contract/compiler/HttpNode.ts +26 -0
  301. package/src/contract/compiler/getFileSystem.ts +42 -0
  302. package/src/contract/ga.ts +23 -106
  303. package/src/index-browser.ts +58 -0
  304. package/src/index.ts +4 -55
  305. package/src/oracle.ts +8 -8
  306. package/src/spend.ts +6 -14
  307. package/src/tx/builder/constants.ts +33 -3
  308. package/src/tx/builder/field-types/abi-version.ts +21 -0
  309. package/src/tx/builder/field-types/address.ts +62 -0
  310. package/src/tx/builder/field-types/array.ts +19 -0
  311. package/src/tx/builder/field-types/boolean.ts +9 -0
  312. package/src/tx/builder/field-types/coin-amount.ts +4 -9
  313. package/src/tx/builder/field-types/ct-version.ts +50 -0
  314. package/src/tx/builder/field-types/deposit.ts +1 -1
  315. package/src/tx/builder/field-types/encoded.ts +27 -0
  316. package/src/tx/builder/field-types/entry.ts +31 -0
  317. package/src/tx/builder/field-types/enumeration.ts +32 -0
  318. package/src/tx/builder/field-types/fee.ts +39 -21
  319. package/src/tx/builder/field-types/gas-limit.ts +13 -8
  320. package/src/tx/builder/field-types/gas-price.ts +0 -2
  321. package/src/tx/builder/field-types/index.ts +54 -15
  322. package/src/tx/builder/field-types/mptree.ts +242 -0
  323. package/src/tx/builder/field-types/name-fee.ts +2 -3
  324. package/src/tx/builder/field-types/name-id.ts +7 -10
  325. package/src/tx/builder/field-types/pointers.ts +41 -0
  326. package/src/tx/builder/field-types/raw.ts +9 -0
  327. package/src/tx/builder/field-types/short-u-int-const.ts +20 -0
  328. package/src/tx/builder/field-types/string.ts +11 -0
  329. package/src/tx/builder/field-types/u-int.ts +4 -5
  330. package/src/tx/builder/helpers.ts +10 -60
  331. package/src/tx/builder/index.ts +65 -308
  332. package/src/tx/builder/schema.ts +280 -341
  333. package/src/tx/index.ts +40 -103
  334. package/src/tx/validator.ts +91 -96
  335. package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
  336. package/src/utils/autorest.ts +16 -1
  337. package/src/utils/bytes.ts +6 -34
  338. package/src/utils/crypto.ts +23 -16
  339. package/src/utils/encoder.ts +0 -1
  340. package/src/utils/errors.ts +22 -25
  341. package/src/utils/hd-wallet.ts +30 -9
  342. package/src/utils/keystore.ts +24 -21
  343. package/src/utils/other.ts +16 -1
  344. package/src/utils/string.ts +0 -20
  345. package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
  346. package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
  347. package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
  348. package/types-legacy/ts4.2/AeSdkMethods.d.ts +140 -0
  349. package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
  350. package/types-legacy/ts4.2/Node.d.ts +78 -0
  351. package/types-legacy/ts4.2/account/Base.d.ts +52 -0
  352. package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
  353. package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
  354. package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
  355. package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
  356. package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
  357. package/types-legacy/ts4.2/aens.d.ts +222 -0
  358. package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  359. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
  360. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  361. package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  362. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  363. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
  364. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
  365. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  366. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
  367. package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
  368. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
  369. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
  370. package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
  371. package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
  372. package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
  373. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
  374. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
  375. package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
  376. package/types-legacy/ts4.2/chain.d.ts +256 -0
  377. package/types-legacy/ts4.2/channel/Base.d.ts +199 -0
  378. package/types-legacy/ts4.2/channel/Contract.d.ts +248 -0
  379. package/types-legacy/ts4.2/channel/Spend.d.ts +219 -0
  380. package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
  381. package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
  382. package/types-legacy/ts4.2/contract/Contract.d.ts +212 -0
  383. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +81 -0
  384. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
  385. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
  386. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
  387. package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
  388. package/types-legacy/ts4.2/contract/ga.d.ts +44 -0
  389. package/types-legacy/ts4.2/globals.d.ts +16 -0
  390. package/types-legacy/ts4.2/index-browser.d.ts +39 -0
  391. package/types-legacy/ts4.2/index.d.ts +5 -0
  392. package/types-legacy/ts4.2/oracle.d.ts +161 -0
  393. package/types-legacy/ts4.2/spend.d.ts +62 -0
  394. package/types-legacy/ts4.2/tx/builder/constants.d.ts +98 -0
  395. package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +10 -0
  396. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +21 -0
  397. package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
  398. package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
  399. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
  400. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +42 -0
  401. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
  402. package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
  403. package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
  404. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +7 -0
  405. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +20 -0
  406. package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
  407. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +15 -0
  408. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
  409. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +129 -0
  410. package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +43 -0
  411. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +18 -0
  412. package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
  413. package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
  414. package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
  415. package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
  416. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  417. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
  418. package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
  419. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +7 -0
  420. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
  421. package/types-legacy/ts4.2/tx/builder/index.d.ts +50 -0
  422. package/types-legacy/ts4.2/tx/builder/schema.d.ts +4675 -0
  423. package/types-legacy/ts4.2/tx/index.d.ts +19 -0
  424. package/types-legacy/ts4.2/tx/validator.d.ts +18 -0
  425. package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
  426. package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
  427. package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
  428. package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
  429. package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
  430. package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
  431. package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
  432. package/types-legacy/ts4.2/utils/errors.d.ts +475 -0
  433. package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
  434. package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
  435. package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
  436. package/types-legacy/ts4.2/utils/other.d.ts +31 -0
  437. package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
  438. package/types-legacy/ts4.2/utils/string.d.ts +12 -0
  439. package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
  440. package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
  441. package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
  442. package/types-legacy/ts4.5/AeSdkMethods.d.ts +140 -0
  443. package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
  444. package/types-legacy/ts4.5/Node.d.ts +78 -0
  445. package/types-legacy/ts4.5/account/Base.d.ts +52 -0
  446. package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
  447. package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
  448. package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
  449. package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
  450. package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
  451. package/types-legacy/ts4.5/aens.d.ts +222 -0
  452. package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  453. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
  454. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  455. package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  456. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  457. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
  458. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
  459. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  460. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
  461. package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
  462. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
  463. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
  464. package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
  465. package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
  466. package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
  467. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
  468. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
  469. package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
  470. package/types-legacy/ts4.5/chain.d.ts +256 -0
  471. package/types-legacy/ts4.5/channel/Base.d.ts +199 -0
  472. package/types-legacy/ts4.5/channel/Contract.d.ts +248 -0
  473. package/types-legacy/ts4.5/channel/Spend.d.ts +219 -0
  474. package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
  475. package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
  476. package/types-legacy/ts4.5/contract/Contract.d.ts +212 -0
  477. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +81 -0
  478. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
  479. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
  480. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
  481. package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
  482. package/types-legacy/ts4.5/contract/ga.d.ts +44 -0
  483. package/types-legacy/ts4.5/index-browser.d.ts +39 -0
  484. package/types-legacy/ts4.5/index.d.ts +4 -0
  485. package/types-legacy/ts4.5/oracle.d.ts +161 -0
  486. package/types-legacy/ts4.5/spend.d.ts +62 -0
  487. package/types-legacy/ts4.5/tx/builder/constants.d.ts +98 -0
  488. package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +10 -0
  489. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +21 -0
  490. package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
  491. package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
  492. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
  493. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +42 -0
  494. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
  495. package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
  496. package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
  497. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +7 -0
  498. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +20 -0
  499. package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
  500. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +15 -0
  501. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
  502. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +129 -0
  503. package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +43 -0
  504. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +18 -0
  505. package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
  506. package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
  507. package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
  508. package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
  509. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  510. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
  511. package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
  512. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +7 -0
  513. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
  514. package/types-legacy/ts4.5/tx/builder/index.d.ts +50 -0
  515. package/types-legacy/ts4.5/tx/builder/schema.d.ts +4675 -0
  516. package/types-legacy/ts4.5/tx/index.d.ts +19 -0
  517. package/types-legacy/ts4.5/tx/validator.d.ts +18 -0
  518. package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
  519. package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
  520. package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
  521. package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
  522. package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
  523. package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
  524. package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
  525. package/types-legacy/ts4.5/utils/errors.d.ts +475 -0
  526. package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
  527. package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
  528. package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
  529. package/types-legacy/ts4.5/utils/other.d.ts +31 -0
  530. package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
  531. package/types-legacy/ts4.5/utils/string.d.ts +12 -0
  532. package/es/channel/index.d.ts +0 -625
  533. package/es/channel/index.mjs +0 -975
  534. package/es/channel/index.mjs.map +0 -1
  535. package/es/contract/Compiler.d.ts +0 -18
  536. package/es/contract/Compiler.mjs +0 -68
  537. package/es/contract/Compiler.mjs.map +0 -1
  538. package/es/contract/aci.d.ts +0 -127
  539. package/es/contract/aci.mjs +0 -508
  540. package/es/contract/aci.mjs.map +0 -1
  541. package/es/contract/methods.d.ts +0 -71
  542. package/es/contract/methods.mjs +0 -104
  543. package/es/contract/methods.mjs.map +0 -1
  544. package/es/deprecated/index.d.ts +0 -143
  545. package/es/deprecated/index.mjs +0 -162
  546. package/es/deprecated/index.mjs.map +0 -1
  547. package/es/deprecated/methods.d.ts +0 -18
  548. package/es/deprecated/methods.mjs +0 -26
  549. package/es/deprecated/methods.mjs.map +0 -1
  550. package/es/tx/builder/address.d.ts +0 -25
  551. package/es/tx/builder/address.mjs +0 -45
  552. package/es/tx/builder/address.mjs.map +0 -1
  553. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
  554. package/es/utils/mptree.d.ts +0 -26
  555. package/es/utils/mptree.mjs +0 -165
  556. package/es/utils/mptree.mjs.map +0 -1
  557. package/src/channel/index.ts +0 -1025
  558. package/src/contract/Compiler.ts +0 -67
  559. package/src/contract/aci.ts +0 -537
  560. package/src/contract/methods.ts +0 -123
  561. package/src/deprecated/index.ts +0 -172
  562. package/src/deprecated/methods.ts +0 -25
  563. package/src/tx/builder/address.ts +0 -50
  564. package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
  565. package/src/utils/mptree.ts +0 -145
package/es/tx/index.d.ts CHANGED
@@ -1,64 +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, TxParamsCommon } 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
- declare type Int = number | string | BigNumber;
16
- export declare type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;
17
- /**
18
- * Validated vm/abi version or get default based on transaction type and NODE version
19
- * @category transaction builder
20
- * @param txType - Type of transaction
21
- * @param ctVersion - Object with vm and abi version fields
22
- * @returns Object with vm/abi version
23
- */
24
- export declare function getVmVersion(txType: Tag.ContractCreateTx, ctVersion: Partial<CtVersion> & {
25
- onNode: Node;
26
- }): Promise<CtVersion>;
27
- export declare function getVmVersion(txType: Tag, ctVersion: Partial<Pick<CtVersion, 'abiVersion'>> & {
28
- onNode: Node;
29
- }): Promise<Pick<CtVersion, 'abiVersion'>>;
6
+ export type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;
30
7
  /**
31
- * Calculate fee, get absolute ttl (ttl + height), get account nonce
32
8
  * @category transaction builder
33
- * @param txType - Type of transaction
34
- * @param params - Object which contains all tx data
35
- * @returns Object with account nonce, absolute ttl and transaction fee
36
9
  */
37
- export declare function prepareTxParams(txType: Tag, { senderId, nonce, ttl, absoluteTtl, strategy, onNode, }: PrepareTxParamsOptions): Promise<{
38
- ttl: number;
39
- nonce: number;
40
- }>;
41
- interface PrepareTxParamsOptions extends Pick<TxParamsCommon, 'nonce' | 'ttl'> {
42
- senderId: Encoded.AccountAddress;
10
+ export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, strategy, onNode, ..._params }: Omit<Parameters<typeof syncBuildTx<TxType>>[0], 'tag' | 'nonce' | 'ttl'> & {
11
+ denomination?: AE_AMOUNT_FORMATS;
43
12
  absoluteTtl?: boolean;
44
13
  strategy?: 'continuity' | 'max';
45
14
  onNode: Node;
46
- }
47
- /**
48
- * @category transaction builder
49
- */
50
- export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, ..._params }: Omit<Parameters<typeof syncBuildTx<TxType, 'tx'>>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'> & {
51
- onNode: Node;
52
- fee?: Int;
53
- nonce?: number;
54
15
  ttl?: number;
55
- denomination?: AE_AMOUNT_FORMATS;
56
- absoluteTtl?: boolean;
16
+ nonce?: number;
57
17
  } & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx ? {
58
18
  callerId: Encoded.AccountAddress;
59
- } : {}) & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? {
60
- ctVersion?: CtVersion;
61
- } : {}) & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx ? {
62
- abiVersion?: ABI_VERSIONS;
63
19
  } : {})): Promise<Encoded.Transaction>;
64
- export {};
package/es/tx/index.mjs CHANGED
@@ -1,5 +1,3 @@
1
- import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/includes";
2
-
3
1
  /*
4
2
  * ISC License (ISC)
5
3
  * Copyright (c) 2022 aeternity developers
@@ -16,7 +14,6 @@ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/ins
16
14
  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17
15
  * PERFORMANCE OF THIS SOFTWARE.
18
16
  */
19
-
20
17
  /**
21
18
  * Transaction methods
22
19
  *
@@ -24,99 +21,32 @@ import _includesInstanceProperty from "@babel/runtime-corejs3/core-js-stable/ins
24
21
  * the creation of transactions to {@link Node}.
25
22
  * These methods provide ability to create native transactions.
26
23
  */
27
- import { ABI_VERSIONS, PROTOCOL_VM_ABI, TX_TTL } from "./builder/schema.mjs";
28
- import { Tag } from "./builder/constants.mjs";
29
- import { ArgumentError, UnsupportedProtocolError, UnknownTxError, InvalidTxParamsError } from "../utils/errors.mjs";
24
+ import { TX_TTL } from "./builder/schema.mjs";
25
+ import { ConsensusProtocolVersion, Tag } from "./builder/constants.mjs";
26
+ import { ArgumentError, InvalidTxParamsError } from "../utils/errors.mjs";
30
27
  import { buildTx as syncBuildTx, unpackTx } from "./builder/index.mjs";
31
- import { isKeyOfObject } from "../utils/other.mjs";
32
- export async function getVmVersion(txType, _ref) {
33
- var _abiVersion, _vmVersion;
34
-
35
- let {
36
- vmVersion,
37
- abiVersion,
38
- onNode
39
- } = _ref;
40
- const {
41
- consensusProtocolVersion
42
- } = await onNode.getNodeInfo();
43
-
44
- if (!isKeyOfObject(consensusProtocolVersion, PROTOCOL_VM_ABI)) {
45
- throw new UnsupportedProtocolError('Not supported consensus protocol version');
46
- }
47
-
48
- const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion];
49
-
50
- if (!isKeyOfObject(txType, supportedProtocol)) {
51
- throw new UnknownTxError('Not supported tx type');
52
- }
53
-
54
- const protocolForTX = supportedProtocol[txType];
55
- (_abiVersion = abiVersion) !== null && _abiVersion !== void 0 ? _abiVersion : abiVersion = protocolForTX.abiVersion[0];
56
- (_vmVersion = vmVersion) !== null && _vmVersion !== void 0 ? _vmVersion : vmVersion = protocolForTX.vmVersion[0];
57
- return {
58
- vmVersion,
59
- abiVersion
60
- };
61
- }
62
- /**
63
- * Calculate fee, get absolute ttl (ttl + height), get account nonce
64
- * @category transaction builder
65
- * @param txType - Type of transaction
66
- * @param params - Object which contains all tx data
67
- * @returns Object with account nonce, absolute ttl and transaction fee
68
- */
69
-
70
- export async function prepareTxParams(txType, _ref2) {
71
- var _nonce;
72
-
73
- let {
74
- senderId,
75
- nonce,
76
- ttl = TX_TTL,
77
- absoluteTtl,
78
- strategy,
79
- onNode
80
- } = _ref2;
81
- (_nonce = nonce) !== null && _nonce !== void 0 ? _nonce : nonce = (await onNode.getAccountNextNonce(senderId, {
82
- strategy
83
- }).catch(() => ({
84
- nextNonce: 1
85
- }))).nextNonce;
86
-
87
- if (ttl !== 0) {
88
- if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl);
89
- ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;
90
- }
91
-
92
- return {
93
- ttl,
94
- nonce
95
- };
96
- }
28
+ import { isAccountNotFoundError } from "../utils/other.mjs";
97
29
  // TODO: find a better name or rearrange methods
98
-
99
30
  /**
100
31
  * @category transaction builder
101
32
  */
102
- export async function _buildTx(txType, _ref3) {
103
- var _context;
104
-
33
+ export async function _buildTx(txType, _ref) {
34
+ var _params$nonce, _params$ttl;
105
35
  let {
106
36
  denomination,
107
37
  absoluteTtl,
38
+ strategy,
39
+ onNode,
108
40
  ..._params
109
- } = _ref3;
41
+ } = _ref;
110
42
  // TODO: avoid this assertion
111
43
  const params = _params;
112
44
  let senderKey;
113
-
114
45
  switch (txType) {
115
46
  case Tag.SpendTx:
116
47
  case Tag.OracleQueryTx:
117
48
  senderKey = 'senderId';
118
49
  break;
119
-
120
50
  case Tag.NameClaimTx:
121
51
  case Tag.NameUpdateTx:
122
52
  case Tag.NameRevokeTx:
@@ -125,65 +55,61 @@ export async function _buildTx(txType, _ref3) {
125
55
  case Tag.OracleRegisterTx:
126
56
  senderKey = 'accountId';
127
57
  break;
128
-
129
58
  case Tag.ContractCreateTx:
130
59
  case Tag.GaAttachTx:
131
60
  senderKey = 'ownerId';
132
61
  break;
133
-
62
+ case Tag.GaMetaTx:
63
+ senderKey = 'gaId';
64
+ break;
134
65
  case Tag.ContractCallTx:
135
66
  case Tag.OracleExtendTx:
136
67
  case Tag.OracleResponseTx:
137
68
  senderKey = 'callerId';
138
69
  break;
139
-
140
70
  case Tag.ChannelCloseSoloTx:
141
71
  case Tag.ChannelSlashTx:
142
72
  case Tag.ChannelSettleTx:
143
73
  case Tag.ChannelSnapshotSoloTx:
144
74
  senderKey = 'fromId';
145
75
  break;
146
-
147
76
  case Tag.PayingForTx:
148
77
  senderKey = 'payerId';
149
78
  break;
150
-
151
79
  default:
152
80
  throw new ArgumentError('txType', 'valid transaction type', txType);
153
- } // TODO: move specific cases to field-types
154
-
155
-
156
- if (_includesInstanceProperty(_context = [Tag.ContractCreateTx, Tag.GaAttachTx]).call(_context, txType)) {
157
- params.ctVersion = await getVmVersion(Tag.ContractCreateTx, { ...params,
158
- ...params.ctVersion
159
- });
160
81
  }
161
-
162
- if (txType === Tag.ContractCallTx) {
163
- params.abiVersion = (await getVmVersion(Tag.ContractCallTx, params)).abiVersion;
82
+ if (Object.keys(ConsensusProtocolVersion).length !== 2 && ((Tag.ContractCreateTx === txType || Tag.GaAttachTx === txType) && params.ctVersion == null || (Tag.ContractCallTx === txType || Tag.GaMetaTx === txType) && params.abiVersion == null)) {
83
+ const {
84
+ consensusProtocolVersion
85
+ } = await onNode.getNodeInfo();
86
+ // @ts-expect-error remove after fixing buildTx types
87
+ params.consensusProtocolVersion = consensusProtocolVersion;
164
88
  }
165
-
166
- if (txType === Tag.OracleRegisterTx) {
167
- var _params$abiVersion;
168
-
169
- (_params$abiVersion = params.abiVersion) !== null && _params$abiVersion !== void 0 ? _params$abiVersion : params.abiVersion = ABI_VERSIONS.NO_ABI;
170
- }
171
-
172
89
  if (txType === Tag.PayingForTx) {
173
90
  params.tx = unpackTx(params.tx);
174
91
  }
175
-
176
- const senderId = params[senderKey]; // TODO: do this check on TypeScript level
177
-
92
+ const senderId = params[senderKey];
93
+ // TODO: do this check on TypeScript level
178
94
  if (senderId == null) throw new InvalidTxParamsError(`Transaction field ${senderKey} is missed`);
179
- const extraParams = await prepareTxParams(txType, { ...params,
180
- senderId,
181
- absoluteTtl
182
- });
183
- return syncBuildTx({ ...params,
184
- ...extraParams
185
- }, txType, {
95
+ (_params$nonce = params.nonce) !== null && _params$nonce !== void 0 ? _params$nonce : params.nonce = (await onNode.getAccountNextNonce(senderId, {
96
+ strategy
97
+ }).catch(error => {
98
+ if (!isAccountNotFoundError(error)) throw error;
99
+ return {
100
+ nextNonce: 1
101
+ };
102
+ })).nextNonce;
103
+ (_params$ttl = params.ttl) !== null && _params$ttl !== void 0 ? _params$ttl : params.ttl = TX_TTL;
104
+ if (params.ttl !== 0) {
105
+ if (params.ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', params.ttl);
106
+ params.ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;
107
+ }
108
+ return syncBuildTx({
109
+ ...params,
110
+ tag: txType
111
+ }, {
186
112
  denomination
187
- }).tx;
113
+ });
188
114
  }
189
115
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["ABI_VERSIONS","PROTOCOL_VM_ABI","TX_TTL","Tag","ArgumentError","UnsupportedProtocolError","UnknownTxError","InvalidTxParamsError","buildTx","syncBuildTx","unpackTx","isKeyOfObject","getVmVersion","txType","vmVersion","abiVersion","onNode","consensusProtocolVersion","getNodeInfo","supportedProtocol","protocolForTX","prepareTxParams","senderId","nonce","ttl","absoluteTtl","strategy","getAccountNextNonce","catch","nextNonce","getCurrentKeyBlock","height","_buildTx","denomination","_params","params","senderKey","SpendTx","OracleQueryTx","NameClaimTx","NameUpdateTx","NameRevokeTx","NameTransferTx","NamePreclaimTx","OracleRegisterTx","ContractCreateTx","GaAttachTx","ContractCallTx","OracleExtendTx","OracleResponseTx","ChannelCloseSoloTx","ChannelSlashTx","ChannelSettleTx","ChannelSnapshotSoloTx","PayingForTx","ctVersion","NO_ABI","tx","extraParams"],"sources":["../../src/tx/index.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Transaction methods\n *\n * This is implementation of [Tx](api/tx.md) relays\n * the creation of transactions to {@link Node}.\n * These methods provide ability to create native transactions.\n */\nimport BigNumber from 'bignumber.js';\nimport {\n ABI_VERSIONS, CtVersion, PROTOCOL_VM_ABI, TX_TTL, TxParamsCommon,\n} from './builder/schema';\nimport { Tag } from './builder/constants';\nimport {\n ArgumentError, UnsupportedProtocolError, UnknownTxError, InvalidTxParamsError,\n} from '../utils/errors';\nimport Node from '../Node';\nimport { Encoded } from '../utils/encoder';\nimport { buildTx as syncBuildTx, unpackTx } from './builder/index';\nimport { isKeyOfObject } from '../utils/other';\nimport { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';\n\ntype Int = number | string | BigNumber;\n\nexport type BuildTxOptions <TxType extends Tag, OmitFields extends string> =\n Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;\n\n/**\n * Validated vm/abi version or get default based on transaction type and NODE version\n * @category transaction builder\n * @param txType - Type of transaction\n * @param ctVersion - Object with vm and abi version fields\n * @returns Object with vm/abi version\n */\nexport async function getVmVersion(\n txType: Tag.ContractCreateTx, ctVersion: Partial<CtVersion> & { onNode: Node }\n): Promise<CtVersion>;\nexport async function getVmVersion(\n txType: Tag, ctVersion: Partial<Pick<CtVersion, 'abiVersion'>> & { onNode: Node }\n): Promise<Pick<CtVersion, 'abiVersion'>>;\nexport async function getVmVersion(\n txType: Tag,\n { vmVersion, abiVersion, onNode }: Partial<CtVersion> & { onNode: Node },\n): Promise<Partial<CtVersion>> {\n const { consensusProtocolVersion } = await onNode.getNodeInfo();\n if (!isKeyOfObject(consensusProtocolVersion, PROTOCOL_VM_ABI)) {\n throw new UnsupportedProtocolError('Not supported consensus protocol version');\n }\n const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion];\n if (!isKeyOfObject(txType, supportedProtocol)) {\n throw new UnknownTxError('Not supported tx type');\n }\n const protocolForTX = supportedProtocol[txType];\n abiVersion ??= protocolForTX.abiVersion[0];\n vmVersion ??= protocolForTX.vmVersion[0];\n return { vmVersion, abiVersion };\n}\n\n/**\n * Calculate fee, get absolute ttl (ttl + height), get account nonce\n * @category transaction builder\n * @param txType - Type of transaction\n * @param params - Object which contains all tx data\n * @returns Object with account nonce, absolute ttl and transaction fee\n */\nexport async function prepareTxParams(\n txType: Tag,\n {\n senderId,\n nonce,\n ttl = TX_TTL,\n absoluteTtl,\n strategy,\n onNode,\n }: PrepareTxParamsOptions,\n): Promise<{ ttl: number; nonce: number }> {\n nonce ??= (\n await onNode.getAccountNextNonce(senderId, { strategy }).catch(() => ({ nextNonce: 1 }))\n ).nextNonce;\n\n if (ttl !== 0) {\n if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl);\n ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;\n }\n\n return { ttl, nonce };\n}\n\ninterface PrepareTxParamsOptions extends Pick<TxParamsCommon, 'nonce' | 'ttl'> {\n senderId: Encoded.AccountAddress;\n absoluteTtl?: boolean;\n strategy?: 'continuity' | 'max';\n onNode: Node;\n}\n\n// TODO: find a better name or rearrange methods\n/**\n * @category transaction builder\n */\nexport async function _buildTx<TxType extends Tag>(\n txType: TxType,\n { denomination, absoluteTtl, ..._params }:\n Omit<Parameters<typeof syncBuildTx<TxType, 'tx'>>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'>\n & {\n onNode: Node;\n fee?: Int;\n nonce?: number;\n ttl?: number;\n denomination?: AE_AMOUNT_FORMATS;\n absoluteTtl?: boolean;\n }\n & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx\n ? { callerId: Encoded.AccountAddress } : {})\n & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? { ctVersion?: CtVersion } : {})\n & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx\n ? { abiVersion?: ABI_VERSIONS } : {}),\n): Promise<Encoded.Transaction> {\n // TODO: avoid this assertion\n const params = _params as unknown as TxParamsCommon & { onNode: Node };\n let senderKey: keyof TxParamsCommon | '<absent>';\n switch (txType) {\n case Tag.SpendTx:\n case Tag.OracleQueryTx:\n senderKey = 'senderId';\n break;\n case Tag.NameClaimTx:\n case Tag.NameUpdateTx:\n case Tag.NameRevokeTx:\n case Tag.NameTransferTx:\n case Tag.NamePreclaimTx:\n case Tag.OracleRegisterTx:\n senderKey = 'accountId';\n break;\n case Tag.ContractCreateTx:\n case Tag.GaAttachTx:\n senderKey = 'ownerId';\n break;\n case Tag.ContractCallTx:\n case Tag.OracleExtendTx:\n case Tag.OracleResponseTx:\n senderKey = 'callerId';\n break;\n case Tag.ChannelCloseSoloTx:\n case Tag.ChannelSlashTx:\n case Tag.ChannelSettleTx:\n case Tag.ChannelSnapshotSoloTx:\n senderKey = 'fromId';\n break;\n case Tag.PayingForTx:\n senderKey = 'payerId';\n break;\n default:\n throw new ArgumentError('txType', 'valid transaction type', txType);\n }\n // TODO: move specific cases to field-types\n if ([Tag.ContractCreateTx, Tag.GaAttachTx].includes(txType)) {\n params.ctVersion = await getVmVersion(\n Tag.ContractCreateTx,\n { ...params, ...params.ctVersion },\n );\n }\n if (txType === Tag.ContractCallTx) {\n params.abiVersion = (await getVmVersion(Tag.ContractCallTx, params)).abiVersion;\n }\n if (txType === Tag.OracleRegisterTx) {\n params.abiVersion ??= ABI_VERSIONS.NO_ABI;\n }\n if (txType === Tag.PayingForTx) {\n params.tx = unpackTx(params.tx);\n }\n const senderId = params[senderKey];\n // TODO: do this check on TypeScript level\n if (senderId == null) throw new InvalidTxParamsError(`Transaction field ${senderKey} is missed`);\n const extraParams = await prepareTxParams(txType, { ...params, senderId, absoluteTtl });\n return syncBuildTx({ ...params, ...extraParams } as any, txType, { denomination }).tx;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["TX_TTL","ConsensusProtocolVersion","Tag","ArgumentError","InvalidTxParamsError","buildTx","syncBuildTx","unpackTx","isAccountNotFoundError","_buildTx","txType","denomination","absoluteTtl","strategy","onNode","_params","params","senderKey","SpendTx","OracleQueryTx","NameClaimTx","NameUpdateTx","NameRevokeTx","NameTransferTx","NamePreclaimTx","OracleRegisterTx","ContractCreateTx","GaAttachTx","GaMetaTx","ContractCallTx","OracleExtendTx","OracleResponseTx","ChannelCloseSoloTx","ChannelSlashTx","ChannelSettleTx","ChannelSnapshotSoloTx","PayingForTx","Object","keys","length","ctVersion","abiVersion","consensusProtocolVersion","getNodeInfo","tx","senderId","nonce","getAccountNextNonce","catch","error","nextNonce","ttl","getCurrentKeyBlock","height","tag"],"sources":["../../src/tx/index.ts"],"sourcesContent":["/*\n * ISC License (ISC)\n * Copyright (c) 2022 aeternity developers\n *\n * Permission to use, copy, modify, and/or distribute this software for any\n * purpose with or without fee is hereby granted, provided that the above\n * copyright notice and this permission notice appear in all copies.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n * PERFORMANCE OF THIS SOFTWARE.\n */\n\n/**\n * Transaction methods\n *\n * This is implementation of [Tx](api/tx.md) relays\n * the creation of transactions to {@link Node}.\n * These methods provide ability to create native transactions.\n */\nimport { TX_TTL, TxParamsCommon } from './builder/schema';\nimport { ConsensusProtocolVersion, Tag } from './builder/constants';\nimport { ArgumentError, InvalidTxParamsError } from '../utils/errors';\nimport Node from '../Node';\nimport { Encoded } from '../utils/encoder';\nimport { buildTx as syncBuildTx, unpackTx } from './builder/index';\nimport { isAccountNotFoundError } from '../utils/other';\nimport { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';\n\nexport type BuildTxOptions <TxType extends Tag, OmitFields extends string> =\n Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;\n\n// TODO: find a better name or rearrange methods\n/**\n * @category transaction builder\n */\nexport async function _buildTx<TxType extends Tag>(\n txType: TxType,\n {\n denomination, absoluteTtl, strategy, onNode, ..._params\n }: Omit<Parameters<typeof syncBuildTx<TxType>>[0], 'tag' | 'nonce' | 'ttl'>\n & {\n denomination?: AE_AMOUNT_FORMATS;\n absoluteTtl?: boolean;\n strategy?: 'continuity' | 'max';\n onNode: Node;\n ttl?: number;\n nonce?: number;\n }\n & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx\n ? { callerId: Encoded.AccountAddress } : {}),\n): Promise<Encoded.Transaction> {\n // TODO: avoid this assertion\n const params = _params as unknown as TxParamsCommon & { onNode: Node };\n let senderKey: keyof TxParamsCommon | '<absent>';\n switch (txType) {\n case Tag.SpendTx:\n case Tag.OracleQueryTx:\n senderKey = 'senderId';\n break;\n case Tag.NameClaimTx:\n case Tag.NameUpdateTx:\n case Tag.NameRevokeTx:\n case Tag.NameTransferTx:\n case Tag.NamePreclaimTx:\n case Tag.OracleRegisterTx:\n senderKey = 'accountId';\n break;\n case Tag.ContractCreateTx:\n case Tag.GaAttachTx:\n senderKey = 'ownerId';\n break;\n case Tag.GaMetaTx:\n senderKey = 'gaId';\n break;\n case Tag.ContractCallTx:\n case Tag.OracleExtendTx:\n case Tag.OracleResponseTx:\n senderKey = 'callerId';\n break;\n case Tag.ChannelCloseSoloTx:\n case Tag.ChannelSlashTx:\n case Tag.ChannelSettleTx:\n case Tag.ChannelSnapshotSoloTx:\n senderKey = 'fromId';\n break;\n case Tag.PayingForTx:\n senderKey = 'payerId';\n break;\n default:\n throw new ArgumentError('txType', 'valid transaction type', txType);\n }\n\n if (\n Object.keys(ConsensusProtocolVersion).length !== 2\n && (((Tag.ContractCreateTx === txType || Tag.GaAttachTx === txType) && params.ctVersion == null)\n || ((Tag.ContractCallTx === txType || Tag.GaMetaTx === txType) && params.abiVersion == null))\n ) {\n const { consensusProtocolVersion } = await onNode.getNodeInfo();\n // @ts-expect-error remove after fixing buildTx types\n params.consensusProtocolVersion = consensusProtocolVersion;\n }\n\n if (txType === Tag.PayingForTx) {\n params.tx = unpackTx(params.tx);\n }\n const senderId = params[senderKey];\n // TODO: do this check on TypeScript level\n if (senderId == null) throw new InvalidTxParamsError(`Transaction field ${senderKey} is missed`);\n\n params.nonce ??= (\n await onNode.getAccountNextNonce(senderId, { strategy }).catch((error) => {\n if (!isAccountNotFoundError(error)) throw error;\n return { nextNonce: 1 };\n })\n ).nextNonce;\n\n params.ttl ??= TX_TTL;\n if (params.ttl !== 0) {\n if (params.ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', params.ttl);\n params.ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;\n }\n\n return syncBuildTx({ ...params, tag: txType } as any, { denomination });\n}\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { Tag } from './builder/constants';
2
- import { Encoded } from '../utils/encoder';
1
+ import { unpackTx } from './builder';
3
2
  import Node from '../Node';
4
3
  export interface ValidatorResult {
5
4
  message: string;
@@ -8,13 +7,12 @@ export interface ValidatorResult {
8
7
  }
9
8
  /**
10
9
  * Transaction Validator
11
- * This function validates some of transaction properties,
10
+ * This function validates some transaction properties,
12
11
  * to make sure it can be posted it to the chain
13
12
  * @category transaction builder
14
13
  * @param transaction - Base64Check-encoded transaction
15
- * @param node - Node to validate transaction against
16
- * @param parentTxTypes - Types of parent transactions
14
+ * @param nodeNotCached - Node to validate transaction against
17
15
  * @returns Array with verification errors
18
16
  * @example const errors = await verifyTransaction(transaction, node)
19
17
  */
20
- export default function verifyTransaction(transaction: Encoded.Transaction | Encoded.Poi, node: Node, parentTxTypes?: Tag[]): Promise<ValidatorResult[]>;
18
+ export default function verifyTransaction(transaction: Parameters<typeof unpackTx>[0], nodeNotCached: Node): Promise<ValidatorResult[]>;