@aeternity/aepp-sdk 13.0.0-alpha.0 → 13.0.0-beta.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 (481) 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 +5595 -2249
  7. package/dist/aepp-sdk.js.map +1 -1
  8. package/es/AeSdk.mjs.map +1 -1
  9. package/es/AeSdkAepp.mjs.map +1 -1
  10. package/es/AeSdkBase.d.ts +3 -3
  11. package/es/AeSdkBase.mjs +4 -0
  12. package/es/AeSdkBase.mjs.map +1 -1
  13. package/es/AeSdkMethods.d.ts +12 -14
  14. package/es/AeSdkMethods.mjs +6 -8
  15. package/es/AeSdkMethods.mjs.map +1 -1
  16. package/es/AeSdkWallet.mjs +1 -1
  17. package/es/AeSdkWallet.mjs.map +1 -1
  18. package/es/Node.d.ts +9 -4
  19. package/es/Node.mjs +12 -6
  20. package/es/Node.mjs.map +1 -1
  21. package/es/account/Base.d.ts +13 -8
  22. package/es/account/Base.mjs +0 -17
  23. package/es/account/Base.mjs.map +1 -1
  24. package/es/account/Generalized.mjs +14 -25
  25. package/es/account/Generalized.mjs.map +1 -1
  26. package/es/account/Ledger.mjs +2 -1
  27. package/es/account/Ledger.mjs.map +1 -1
  28. package/es/account/LedgerFactory.mjs.map +1 -1
  29. package/es/account/Memory.d.ts +2 -1
  30. package/es/account/Memory.mjs +11 -22
  31. package/es/account/Memory.mjs.map +1 -1
  32. package/es/account/Rpc.mjs.map +1 -1
  33. package/es/aens.d.ts +12 -14
  34. package/es/aens.mjs +22 -32
  35. package/es/aens.mjs.map +1 -1
  36. package/es/aepp-wallet-communication/connection/Browser.mjs +0 -16
  37. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  38. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  39. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +19 -20
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  41. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -16
  42. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  43. package/es/aepp-wallet-communication/connection-proxy.mjs +0 -17
  44. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  45. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -6
  46. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  47. package/es/aepp-wallet-communication/rpc/types.d.ts +6 -2
  48. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  49. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  50. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -16
  51. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  52. package/es/apis/compiler/compiler.d.ts +1 -1
  53. package/es/apis/compiler/compiler.mjs +4 -20
  54. package/es/apis/compiler/compiler.mjs.map +1 -1
  55. package/es/apis/compiler/models/index.d.ts +3 -2
  56. package/es/apis/compiler/models/index.mjs.map +1 -1
  57. package/es/apis/compiler/models/mappers.d.ts +1 -1
  58. package/es/apis/compiler/models/mappers.mjs +19 -2
  59. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  60. package/es/apis/node/models/index.d.ts +15 -15
  61. package/es/apis/node/models/index.mjs.map +1 -1
  62. package/es/apis/node/models/mappers.d.ts +1 -1
  63. package/es/apis/node/models/mappers.mjs +2 -1
  64. package/es/apis/node/models/mappers.mjs.map +1 -1
  65. package/es/apis/node/models/parameters.d.ts +2 -2
  66. package/es/apis/node/models/parameters.mjs +2 -2
  67. package/es/apis/node/models/parameters.mjs.map +1 -1
  68. package/es/apis/node/node.mjs +3 -19
  69. package/es/apis/node/node.mjs.map +1 -1
  70. package/es/chain.d.ts +17 -9
  71. package/es/chain.mjs +23 -23
  72. package/es/chain.mjs.map +1 -1
  73. package/es/channel/Base.d.ts +27 -9
  74. package/es/channel/Base.mjs +27 -27
  75. package/es/channel/Base.mjs.map +1 -1
  76. package/es/channel/Contract.d.ts +8 -7
  77. package/es/channel/Contract.mjs +8 -21
  78. package/es/channel/Contract.mjs.map +1 -1
  79. package/es/channel/Spend.d.ts +5 -1
  80. package/es/channel/Spend.mjs +4 -18
  81. package/es/channel/Spend.mjs.map +1 -1
  82. package/es/channel/handlers.mjs +16 -26
  83. package/es/channel/handlers.mjs.map +1 -1
  84. package/es/channel/internal.d.ts +19 -2
  85. package/es/channel/internal.mjs +22 -20
  86. package/es/channel/internal.mjs.map +1 -1
  87. package/es/contract/Contract.d.ts +43 -123
  88. package/es/contract/Contract.mjs +230 -250
  89. package/es/contract/Contract.mjs.map +1 -1
  90. package/es/contract/compiler/Base.d.ts +74 -0
  91. package/es/contract/compiler/Base.mjs +5 -0
  92. package/es/contract/compiler/Base.mjs.map +1 -0
  93. package/es/contract/compiler/Cli.d.ts +23 -0
  94. package/es/contract/compiler/Cli.mjs +149 -0
  95. package/es/contract/compiler/Cli.mjs.map +1 -0
  96. package/es/contract/compiler/Http.d.ts +32 -0
  97. package/es/contract/compiler/Http.mjs +94 -0
  98. package/es/contract/compiler/Http.mjs.map +1 -0
  99. package/es/contract/compiler/HttpNode.d.ts +17 -0
  100. package/es/contract/compiler/HttpNode.mjs +26 -0
  101. package/es/contract/compiler/HttpNode.mjs.map +1 -0
  102. package/es/contract/compiler/getFileSystem.d.ts +6 -0
  103. package/es/contract/compiler/getFileSystem.mjs +40 -0
  104. package/es/contract/compiler/getFileSystem.mjs.map +1 -0
  105. package/es/contract/delegation-signature.d.ts +43 -0
  106. package/es/contract/delegation-signature.mjs +45 -0
  107. package/es/contract/delegation-signature.mjs.map +1 -0
  108. package/es/contract/ga.d.ts +27 -10
  109. package/es/contract/ga.mjs +63 -29
  110. package/es/contract/ga.mjs.map +1 -1
  111. package/es/index-browser.d.ts +40 -0
  112. package/es/index-browser.mjs +41 -0
  113. package/es/index-browser.mjs.map +1 -0
  114. package/es/index.d.ts +4 -38
  115. package/es/index.mjs +4 -53
  116. package/es/index.mjs.map +1 -1
  117. package/es/oracle.d.ts +12 -17
  118. package/es/oracle.mjs +29 -49
  119. package/es/oracle.mjs.map +1 -1
  120. package/es/spend.d.ts +19 -27
  121. package/es/spend.mjs +21 -46
  122. package/es/spend.mjs.map +1 -1
  123. package/es/tx/builder/SchemaTypes.d.ts +37 -0
  124. package/es/tx/builder/SchemaTypes.mjs +2 -0
  125. package/es/tx/builder/SchemaTypes.mjs.map +1 -0
  126. package/es/tx/builder/constants.d.ts +31 -2
  127. package/es/tx/builder/constants.mjs +34 -3
  128. package/es/tx/builder/constants.mjs.map +1 -1
  129. package/es/tx/builder/field-types/abi-version.d.ts +19 -0
  130. package/es/tx/builder/field-types/abi-version.mjs +40 -0
  131. package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
  132. package/es/tx/builder/field-types/address.d.ts +5 -6
  133. package/es/tx/builder/field-types/address.mjs +17 -8
  134. package/es/tx/builder/field-types/address.mjs.map +1 -1
  135. package/es/tx/builder/field-types/array.d.ts +7 -0
  136. package/es/tx/builder/field-types/array.mjs +11 -0
  137. package/es/tx/builder/field-types/array.mjs.map +1 -0
  138. package/es/tx/builder/field-types/boolean.d.ts +6 -0
  139. package/es/tx/builder/field-types/boolean.mjs +13 -0
  140. package/es/tx/builder/field-types/boolean.mjs.map +1 -0
  141. package/es/tx/builder/field-types/coin-amount.d.ts +4 -5
  142. package/es/tx/builder/field-types/coin-amount.mjs +4 -5
  143. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  144. package/es/tx/builder/field-types/ct-version.d.ts +49 -0
  145. package/es/tx/builder/field-types/ct-version.mjs +76 -0
  146. package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
  147. package/es/tx/builder/field-types/deposit.d.ts +3 -2
  148. package/es/tx/builder/field-types/deposit.mjs +3 -2
  149. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  150. package/es/tx/builder/field-types/encoded.d.ts +6 -0
  151. package/es/tx/builder/field-types/encoded.mjs +21 -0
  152. package/es/tx/builder/field-types/encoded.mjs.map +1 -0
  153. package/es/tx/builder/field-types/entry.d.ts +11 -0
  154. package/es/tx/builder/field-types/entry.mjs +34 -0
  155. package/es/tx/builder/field-types/entry.mjs.map +1 -0
  156. package/es/tx/builder/field-types/enumeration.d.ts +5 -3
  157. package/es/tx/builder/field-types/enumeration.mjs +11 -2
  158. package/es/tx/builder/field-types/enumeration.mjs.map +1 -1
  159. package/es/tx/builder/field-types/fee.d.ts +12 -7
  160. package/es/tx/builder/field-types/fee.mjs +28 -20
  161. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  162. package/es/tx/builder/field-types/field.mjs.map +1 -1
  163. package/es/tx/builder/field-types/gas-limit.d.ts +7 -3
  164. package/es/tx/builder/field-types/gas-limit.mjs +13 -8
  165. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  166. package/es/tx/builder/field-types/gas-price.d.ts +3 -1
  167. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  168. package/es/tx/builder/field-types/index.d.ts +107 -30
  169. package/es/tx/builder/field-types/index.mjs +38 -12
  170. package/es/tx/builder/field-types/index.mjs.map +1 -1
  171. package/es/tx/builder/field-types/map.d.ts +13 -0
  172. package/es/tx/builder/field-types/map.mjs +49 -0
  173. package/es/tx/builder/field-types/map.mjs.map +1 -0
  174. package/es/tx/builder/field-types/mptree.d.ts +42 -0
  175. package/es/tx/builder/field-types/mptree.mjs +266 -0
  176. package/es/tx/builder/field-types/mptree.mjs.map +1 -0
  177. package/es/tx/builder/field-types/name-fee.d.ts +2 -3
  178. package/es/tx/builder/field-types/name-fee.mjs +2 -2
  179. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  180. package/es/tx/builder/field-types/name-id.mjs +2 -1
  181. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  182. package/es/tx/builder/field-types/name.mjs.map +1 -1
  183. package/es/tx/builder/field-types/nonce.d.ts +14 -0
  184. package/es/tx/builder/field-types/nonce.mjs +29 -0
  185. package/es/tx/builder/field-types/nonce.mjs.map +1 -0
  186. package/es/tx/builder/field-types/pointers.mjs +2 -2
  187. package/es/tx/builder/field-types/pointers.mjs.map +1 -1
  188. package/es/tx/builder/field-types/raw.d.ts +6 -0
  189. package/es/tx/builder/field-types/raw.mjs +13 -0
  190. package/es/tx/builder/field-types/raw.mjs.map +1 -0
  191. package/es/tx/builder/field-types/short-u-int-const.d.ts +7 -0
  192. package/es/tx/builder/field-types/short-u-int-const.mjs +20 -0
  193. package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
  194. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
  195. package/es/tx/builder/field-types/string.d.ts +6 -0
  196. package/es/tx/builder/field-types/string.mjs +10 -0
  197. package/es/tx/builder/field-types/string.mjs.map +1 -0
  198. package/es/tx/builder/field-types/ttl.d.ts +11 -0
  199. package/es/tx/builder/field-types/ttl.mjs +21 -0
  200. package/es/tx/builder/field-types/ttl.mjs.map +1 -0
  201. package/es/tx/builder/field-types/u-int.d.ts +1 -2
  202. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  203. package/es/tx/builder/field-types/wrapped.d.ts +14 -0
  204. package/es/tx/builder/field-types/wrapped.mjs +22 -0
  205. package/es/tx/builder/field-types/wrapped.mjs.map +1 -0
  206. package/es/tx/builder/helpers.mjs.map +1 -1
  207. package/es/tx/builder/index.d.ts +18 -36
  208. package/es/tx/builder/index.mjs +65 -236
  209. package/es/tx/builder/index.mjs.map +1 -1
  210. package/es/tx/builder/schema.d.ts +2734 -1324
  211. package/es/tx/builder/schema.generated.d.ts +2011 -0
  212. package/es/tx/builder/schema.generated.mjs +2 -0
  213. package/es/tx/builder/schema.generated.mjs.map +1 -0
  214. package/es/tx/builder/schema.mjs +459 -223
  215. package/es/tx/builder/schema.mjs.map +1 -1
  216. package/es/tx/execution-cost.d.ts +35 -0
  217. package/es/tx/execution-cost.mjs +123 -0
  218. package/es/tx/execution-cost.mjs.map +1 -0
  219. package/es/tx/transaction-signer.d.ts +6 -0
  220. package/es/tx/transaction-signer.mjs +27 -0
  221. package/es/tx/transaction-signer.mjs.map +1 -0
  222. package/es/tx/validator.d.ts +3 -5
  223. package/es/tx/validator.mjs +91 -153
  224. package/es/tx/validator.mjs.map +1 -1
  225. package/es/utils/amount-formatter.mjs +0 -16
  226. package/es/utils/amount-formatter.mjs.map +1 -1
  227. package/es/utils/autorest.d.ts +3 -2
  228. package/es/utils/autorest.mjs +43 -11
  229. package/es/utils/autorest.mjs.map +1 -1
  230. package/es/utils/bytes.mjs +1 -17
  231. package/es/utils/bytes.mjs.map +1 -1
  232. package/es/utils/crypto.mjs +0 -16
  233. package/es/utils/crypto.mjs.map +1 -1
  234. package/es/utils/encoder.mjs.map +1 -1
  235. package/es/utils/errors.d.ts +16 -38
  236. package/es/utils/errors.mjs +3 -43
  237. package/es/utils/errors.mjs.map +1 -1
  238. package/es/utils/hd-wallet.mjs.map +1 -1
  239. package/es/utils/json-big.mjs.map +1 -1
  240. package/es/utils/keystore.mjs.map +1 -1
  241. package/es/utils/other.mjs.map +1 -1
  242. package/es/utils/semver-satisfies.mjs.map +1 -1
  243. package/es/utils/string.mjs +0 -17
  244. package/es/utils/string.mjs.map +1 -1
  245. package/package.json +52 -40
  246. package/src/AeSdkBase.ts +6 -3
  247. package/src/AeSdkMethods.ts +12 -18
  248. package/src/AeSdkWallet.ts +1 -1
  249. package/src/Node.ts +23 -9
  250. package/src/account/Base.ts +13 -24
  251. package/src/account/Generalized.ts +9 -24
  252. package/src/account/Ledger.ts +1 -1
  253. package/src/account/Memory.ts +15 -22
  254. package/src/aens.ts +34 -49
  255. package/src/aepp-wallet-communication/connection/Browser.ts +0 -17
  256. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +18 -24
  257. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +0 -17
  258. package/src/aepp-wallet-communication/connection-proxy.ts +0 -17
  259. package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
  260. package/src/aepp-wallet-communication/rpc/types.ts +6 -2
  261. package/src/aepp-wallet-communication/wallet-detector.ts +0 -17
  262. package/src/apis/compiler/compiler.ts +3 -27
  263. package/src/apis/compiler/models/index.ts +3 -2
  264. package/src/apis/compiler/models/mappers.ts +15 -2
  265. package/src/apis/node/models/index.ts +16 -15
  266. package/src/apis/node/models/mappers.ts +2 -1
  267. package/src/apis/node/models/parameters.ts +2 -2
  268. package/src/apis/node/node.ts +3 -27
  269. package/src/chain.ts +33 -30
  270. package/src/channel/Base.ts +39 -31
  271. package/src/channel/Contract.ts +18 -32
  272. package/src/channel/Spend.ts +8 -18
  273. package/src/channel/handlers.ts +14 -26
  274. package/src/channel/internal.ts +41 -23
  275. package/src/contract/Contract.ts +188 -228
  276. package/src/contract/compiler/Base.ts +87 -0
  277. package/src/contract/compiler/Cli.ts +128 -0
  278. package/src/contract/compiler/Http.ts +105 -0
  279. package/src/contract/compiler/HttpNode.ts +26 -0
  280. package/src/contract/compiler/getFileSystem.ts +42 -0
  281. package/src/contract/delegation-signature.ts +56 -0
  282. package/src/contract/ga.ts +61 -37
  283. package/src/index-browser.ts +50 -0
  284. package/src/index.ts +4 -56
  285. package/src/oracle.ts +47 -57
  286. package/src/spend.ts +34 -68
  287. package/src/tx/builder/SchemaTypes.ts +79 -0
  288. package/src/tx/builder/constants.ts +34 -3
  289. package/src/tx/builder/field-types/abi-version.ts +44 -0
  290. package/src/tx/builder/field-types/address.ts +23 -13
  291. package/src/tx/builder/field-types/array.ts +19 -0
  292. package/src/tx/builder/field-types/boolean.ts +9 -0
  293. package/src/tx/builder/field-types/coin-amount.ts +8 -5
  294. package/src/tx/builder/field-types/ct-version.ts +83 -0
  295. package/src/tx/builder/field-types/deposit.ts +4 -2
  296. package/src/tx/builder/field-types/encoded.ts +27 -0
  297. package/src/tx/builder/field-types/entry.ts +36 -0
  298. package/src/tx/builder/field-types/enumeration.ts +15 -4
  299. package/src/tx/builder/field-types/fee.ts +41 -19
  300. package/src/tx/builder/field-types/gas-limit.ts +13 -8
  301. package/src/tx/builder/field-types/index.ts +60 -17
  302. package/src/tx/builder/field-types/map.ts +45 -0
  303. package/src/tx/builder/field-types/mptree.ts +243 -0
  304. package/src/tx/builder/field-types/name-fee.ts +3 -3
  305. package/src/tx/builder/field-types/name-id.ts +1 -1
  306. package/src/tx/builder/field-types/nonce.ts +40 -0
  307. package/src/tx/builder/field-types/pointers.ts +2 -2
  308. package/src/tx/builder/field-types/raw.ts +9 -0
  309. package/src/tx/builder/field-types/short-u-int-const.ts +30 -0
  310. package/src/tx/builder/field-types/string.ts +11 -0
  311. package/src/tx/builder/field-types/ttl.ts +24 -0
  312. package/src/tx/builder/field-types/u-int.ts +1 -3
  313. package/src/tx/builder/field-types/wrapped.ts +32 -0
  314. package/src/tx/builder/index.ts +82 -280
  315. package/src/tx/builder/schema.generated.ts +2013 -0
  316. package/src/tx/builder/schema.ts +536 -666
  317. package/src/tx/execution-cost.ts +146 -0
  318. package/src/tx/transaction-signer.ts +27 -0
  319. package/src/tx/validator.ts +100 -154
  320. package/src/utils/amount-formatter.ts +0 -16
  321. package/src/utils/autorest.ts +52 -11
  322. package/src/utils/bytes.ts +1 -17
  323. package/src/utils/crypto.ts +0 -16
  324. package/src/utils/errors.ts +18 -56
  325. package/src/utils/string.ts +0 -17
  326. package/types-legacy/ts4.2/AeSdkBase.d.ts +3 -3
  327. package/types-legacy/ts4.2/AeSdkMethods.d.ts +12 -14
  328. package/types-legacy/ts4.2/Node.d.ts +8 -4
  329. package/types-legacy/ts4.2/account/Base.d.ts +13 -8
  330. package/types-legacy/ts4.2/account/Memory.d.ts +2 -1
  331. package/types-legacy/ts4.2/aens.d.ts +12 -14
  332. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  333. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +6 -2
  334. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +1 -1
  335. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +3 -2
  336. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +1 -1
  337. package/types-legacy/ts4.2/apis/node/models/index.d.ts +15 -15
  338. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +1 -1
  339. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +2 -2
  340. package/types-legacy/ts4.2/chain.d.ts +17 -9
  341. package/types-legacy/ts4.2/channel/Base.d.ts +27 -9
  342. package/types-legacy/ts4.2/channel/Contract.d.ts +8 -7
  343. package/types-legacy/ts4.2/channel/Spend.d.ts +5 -1
  344. package/types-legacy/ts4.2/channel/internal.d.ts +22 -2
  345. package/types-legacy/ts4.2/contract/Contract.d.ts +42 -122
  346. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +74 -0
  347. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
  348. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
  349. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
  350. package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
  351. package/types-legacy/ts4.2/contract/delegation-signature.d.ts +43 -0
  352. package/types-legacy/ts4.2/contract/ga.d.ts +27 -10
  353. package/types-legacy/ts4.2/index-browser.d.ts +40 -0
  354. package/types-legacy/ts4.2/index.d.ts +4 -38
  355. package/types-legacy/ts4.2/oracle.d.ts +12 -17
  356. package/types-legacy/ts4.2/spend.d.ts +19 -27
  357. package/types-legacy/ts4.2/tx/builder/SchemaTypes.d.ts +37 -0
  358. package/types-legacy/ts4.2/tx/builder/constants.d.ts +31 -2
  359. package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +19 -0
  360. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +11 -12
  361. package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
  362. package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
  363. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +4 -5
  364. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +72 -0
  365. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +3 -2
  366. package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
  367. package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
  368. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +5 -3
  369. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +12 -7
  370. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +7 -3
  371. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +3 -1
  372. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +113 -30
  373. package/types-legacy/ts4.2/tx/builder/field-types/map.d.ts +13 -0
  374. package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +48 -0
  375. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +2 -3
  376. package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +14 -0
  377. package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
  378. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +7 -0
  379. package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
  380. package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +11 -0
  381. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +1 -2
  382. package/types-legacy/ts4.2/tx/builder/field-types/wrapped.d.ts +14 -0
  383. package/types-legacy/ts4.2/tx/builder/index.d.ts +21 -36
  384. package/types-legacy/ts4.2/tx/builder/schema.d.ts +2971 -2926
  385. package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +2011 -0
  386. package/types-legacy/ts4.2/tx/execution-cost.d.ts +35 -0
  387. package/types-legacy/ts4.2/tx/transaction-signer.d.ts +6 -0
  388. package/types-legacy/ts4.2/tx/validator.d.ts +3 -5
  389. package/types-legacy/ts4.2/utils/autorest.d.ts +3 -2
  390. package/types-legacy/ts4.2/utils/errors.d.ts +16 -38
  391. package/types-legacy/ts4.5/AeSdkBase.d.ts +3 -3
  392. package/types-legacy/ts4.5/AeSdkMethods.d.ts +12 -14
  393. package/types-legacy/ts4.5/Node.d.ts +8 -4
  394. package/types-legacy/ts4.5/account/Base.d.ts +13 -8
  395. package/types-legacy/ts4.5/account/Memory.d.ts +2 -1
  396. package/types-legacy/ts4.5/aens.d.ts +12 -14
  397. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  398. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +6 -2
  399. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +1 -1
  400. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +3 -2
  401. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +1 -1
  402. package/types-legacy/ts4.5/apis/node/models/index.d.ts +15 -15
  403. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +1 -1
  404. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +2 -2
  405. package/types-legacy/ts4.5/chain.d.ts +17 -9
  406. package/types-legacy/ts4.5/channel/Base.d.ts +27 -9
  407. package/types-legacy/ts4.5/channel/Contract.d.ts +8 -7
  408. package/types-legacy/ts4.5/channel/Spend.d.ts +5 -1
  409. package/types-legacy/ts4.5/channel/internal.d.ts +22 -2
  410. package/types-legacy/ts4.5/contract/Contract.d.ts +42 -122
  411. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +74 -0
  412. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
  413. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
  414. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
  415. package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
  416. package/types-legacy/ts4.5/contract/delegation-signature.d.ts +43 -0
  417. package/types-legacy/ts4.5/contract/ga.d.ts +27 -10
  418. package/types-legacy/ts4.5/index-browser.d.ts +40 -0
  419. package/types-legacy/ts4.5/index.d.ts +4 -38
  420. package/types-legacy/ts4.5/oracle.d.ts +12 -17
  421. package/types-legacy/ts4.5/spend.d.ts +19 -27
  422. package/types-legacy/ts4.5/tx/builder/SchemaTypes.d.ts +37 -0
  423. package/types-legacy/ts4.5/tx/builder/constants.d.ts +31 -2
  424. package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +19 -0
  425. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +11 -12
  426. package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
  427. package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
  428. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +4 -5
  429. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +72 -0
  430. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +3 -2
  431. package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
  432. package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
  433. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +5 -3
  434. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +12 -7
  435. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +7 -3
  436. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +3 -1
  437. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +113 -30
  438. package/types-legacy/ts4.5/tx/builder/field-types/map.d.ts +13 -0
  439. package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +48 -0
  440. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +2 -3
  441. package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +14 -0
  442. package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
  443. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +7 -0
  444. package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
  445. package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +11 -0
  446. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +1 -2
  447. package/types-legacy/ts4.5/tx/builder/field-types/wrapped.d.ts +14 -0
  448. package/types-legacy/ts4.5/tx/builder/index.d.ts +21 -36
  449. package/types-legacy/ts4.5/tx/builder/schema.d.ts +2971 -2926
  450. package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +2011 -0
  451. package/types-legacy/ts4.5/tx/execution-cost.d.ts +35 -0
  452. package/types-legacy/ts4.5/tx/transaction-signer.d.ts +6 -0
  453. package/types-legacy/ts4.5/tx/validator.d.ts +3 -5
  454. package/types-legacy/ts4.5/utils/autorest.d.ts +3 -2
  455. package/types-legacy/ts4.5/utils/errors.d.ts +16 -38
  456. package/es/contract/CompilerHttp.d.ts +0 -18
  457. package/es/contract/CompilerHttp.mjs +0 -63
  458. package/es/contract/CompilerHttp.mjs.map +0 -1
  459. package/es/tx/builder/field-types/addresses.d.ts +0 -6
  460. package/es/tx/builder/field-types/addresses.mjs +0 -13
  461. package/es/tx/builder/field-types/addresses.mjs.map +0 -1
  462. package/es/tx/index.d.ts +0 -34
  463. package/es/tx/index.mjs +0 -172
  464. package/es/tx/index.mjs.map +0 -1
  465. package/es/utils/mptree.d.ts +0 -26
  466. package/es/utils/mptree.mjs +0 -143
  467. package/es/utils/mptree.mjs.map +0 -1
  468. package/src/apis/compiler/code-model-v4.yaml +0 -2442
  469. package/src/apis/node/code-model-v4.yaml +0 -10080
  470. package/src/contract/CompilerHttp.ts +0 -67
  471. package/src/tx/builder/field-types/addresses.ts +0 -18
  472. package/src/tx/index.ts +0 -196
  473. package/src/utils/mptree.ts +0 -145
  474. package/types-legacy/ts4.2/contract/CompilerHttp.d.ts +0 -18
  475. package/types-legacy/ts4.2/tx/builder/field-types/addresses.d.ts +0 -6
  476. package/types-legacy/ts4.2/tx/index.d.ts +0 -34
  477. package/types-legacy/ts4.2/utils/mptree.d.ts +0 -32
  478. package/types-legacy/ts4.5/contract/CompilerHttp.d.ts +0 -18
  479. package/types-legacy/ts4.5/tx/builder/field-types/addresses.d.ts +0 -6
  480. package/types-legacy/ts4.5/tx/index.d.ts +0 -34
  481. package/types-legacy/ts4.5/utils/mptree.d.ts +0 -32
@@ -146,10 +146,10 @@ export const ErrorPos: coreClient.CompositeMapper = {
146
146
  }
147
147
  };
148
148
 
149
- export const ByteCode: coreClient.CompositeMapper = {
149
+ export const CompileResult: coreClient.CompositeMapper = {
150
150
  type: {
151
151
  name: "Composite",
152
- className: "ByteCode",
152
+ className: "CompileResult",
153
153
  modelProperties: {
154
154
  bytecode: {
155
155
  serializedName: "bytecode",
@@ -157,6 +157,19 @@ export const ByteCode: coreClient.CompositeMapper = {
157
157
  type: {
158
158
  name: "String"
159
159
  }
160
+ },
161
+ aci: {
162
+ serializedName: "aci",
163
+ required: true,
164
+ type: {
165
+ name: "Sequence",
166
+ element: {
167
+ type: {
168
+ name: "Dictionary",
169
+ value: { type: { name: "any" } }
170
+ }
171
+ }
172
+ }
160
173
  }
161
174
  }
162
175
  }
@@ -112,7 +112,7 @@ export interface SignedTx {
112
112
  /** A mix of all transaction types. */
113
113
  export interface Tx {
114
114
  /** Polymorphic discriminator, which specifies the different types this object can be */
115
- type: "undefined";
115
+ type: "Tx";
116
116
  /** Base58Check encoded tagged pubkey */
117
117
  recipientId?: string;
118
118
  amount?: string;
@@ -900,7 +900,7 @@ export interface CheckTxInPoolResponse {
900
900
  status: string;
901
901
  }
902
902
 
903
- export type OffChainTransfer = OffChainUpdate & {
903
+ export interface OffChainTransfer extends OffChainUpdate {
904
904
  /** Polymorphic discriminator, which specifies the different types this object can be */
905
905
  op: "OffChainTransfer";
906
906
  /** Base58Check encoded tagged pubkey */
@@ -908,25 +908,25 @@ export type OffChainTransfer = OffChainUpdate & {
908
908
  /** Base58Check encoded tagged pubkey */
909
909
  to: string;
910
910
  amount: string;
911
- };
911
+ }
912
912
 
913
- export type OffChainWithdrawal = OffChainUpdate & {
913
+ export interface OffChainWithdrawal extends OffChainUpdate {
914
914
  /** Polymorphic discriminator, which specifies the different types this object can be */
915
915
  op: "OffChainWithdrawal";
916
916
  /** Base58Check encoded tagged pubkey */
917
917
  to: string;
918
918
  amount: string;
919
- };
919
+ }
920
920
 
921
- export type OffChainDeposit = OffChainUpdate & {
921
+ export interface OffChainDeposit extends OffChainUpdate {
922
922
  /** Polymorphic discriminator, which specifies the different types this object can be */
923
923
  op: "OffChainDeposit";
924
924
  /** Base58Check encoded tagged pubkey */
925
925
  from: string;
926
926
  amount: string;
927
- };
927
+ }
928
928
 
929
- export type OffChainNewContract = OffChainUpdate & {
929
+ export interface OffChainNewContract extends OffChainUpdate {
930
930
  /** Polymorphic discriminator, which specifies the different types this object can be */
931
931
  op: "OffChainNewContract";
932
932
  /** Base58Check encoded tagged pubkey */
@@ -937,9 +937,9 @@ export type OffChainNewContract = OffChainUpdate & {
937
937
  deposit: string;
938
938
  /** Base64Check encoded tagged byte array */
939
939
  callData: string;
940
- };
940
+ }
941
941
 
942
- export type OffChainCallContract = OffChainUpdate & {
942
+ export interface OffChainCallContract extends OffChainUpdate {
943
943
  /** Polymorphic discriminator, which specifies the different types this object can be */
944
944
  op: "OffChainCallContract";
945
945
  /** Base58Check encoded tagged pubkey */
@@ -952,12 +952,13 @@ export type OffChainCallContract = OffChainUpdate & {
952
952
  gasPrice: string;
953
953
  /** Base64Check encoded tagged byte array */
954
954
  callData: string;
955
- };
955
+ }
956
956
 
957
- export type CreateContractUnsignedTx = UnsignedTx & {
957
+ export interface CreateContractUnsignedTx extends UnsignedTx {
958
958
  /** Base58Check encoded tagged pubkey */
959
959
  contractId: string;
960
- };
960
+ }
961
+
961
962
  /** Defines values for TTLType. */
962
963
  export type TTLType = "delta" | "block";
963
964
  /** Defines values for TxType. */
@@ -1194,11 +1195,11 @@ export type GetOracleByPubkeyResponse = RegisteredOracle;
1194
1195
  export interface GetOracleQueriesByPubkeyOptionalParams
1195
1196
  extends coreClient.OperationOptions {
1196
1197
  /** Last query id in previous page */
1197
- fromParam?: string;
1198
+ from?: string;
1198
1199
  /** Max number of oracle queries */
1199
1200
  limit?: number;
1200
1201
  /** The type of a query: open, closed or all */
1201
- typeParam?: OracleQueryType;
1202
+ type?: OracleQueryType;
1202
1203
  }
1203
1204
 
1204
1205
  /** Contains response data for the getOracleQueriesByPubkey operation. */
@@ -427,6 +427,7 @@ export const SignedTx: coreClient.CompositeMapper = {
427
427
  };
428
428
 
429
429
  export const Tx: coreClient.CompositeMapper = {
430
+ serializedName: "Tx",
430
431
  type: {
431
432
  name: "Composite",
432
433
  className: "Tx",
@@ -4270,7 +4271,7 @@ export const CreateContractUnsignedTx: coreClient.CompositeMapper = {
4270
4271
  };
4271
4272
 
4272
4273
  export let discriminators = {
4273
- "Tx.undefined": Tx,
4274
+ "Tx.Tx": Tx,
4274
4275
  OffChainUpdate: OffChainUpdate,
4275
4276
  "OffChainUpdate.OffChainTransfer": OffChainTransfer,
4276
4277
  "OffChainUpdate.OffChainWithdrawal": OffChainWithdrawal,
@@ -128,7 +128,7 @@ export const body1: OperationParameter = {
128
128
  mapper: EncodedTxMapper
129
129
  };
130
130
 
131
- export const fromParam: OperationQueryParameter = {
131
+ export const from: OperationQueryParameter = {
132
132
  parameterPath: ["options", "from"],
133
133
  mapper: {
134
134
  serializedName: "from",
@@ -153,7 +153,7 @@ export const limit: OperationQueryParameter = {
153
153
  }
154
154
  };
155
155
 
156
- export const typeParam: OperationQueryParameter = {
156
+ export const type: OperationQueryParameter = {
157
157
  parameterPath: ["options", "type"],
158
158
  mapper: {
159
159
  defaultValue: "all",
@@ -1,5 +1,4 @@
1
1
  import * as coreClient from "@azure/core-client";
2
- import * as coreRestPipeline from "@azure/core-rest-pipeline";
3
2
  import * as Parameters from "./models/parameters";
4
3
  import * as Mappers from "./models/mappers";
5
4
  import {
@@ -110,32 +109,9 @@ export class Node extends coreClient.ServiceClient {
110
109
  userAgentOptions: {
111
110
  userAgentPrefix
112
111
  },
113
- baseUri: options.endpoint ?? options.baseUri ?? "{$host}"
112
+ endpoint: options.endpoint ?? options.baseUri ?? "{$host}"
114
113
  };
115
114
  super(optionsWithDefaults);
116
-
117
- if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {
118
- const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();
119
- const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(
120
- (pipelinePolicy) =>
121
- pipelinePolicy.name ===
122
- coreRestPipeline.bearerTokenAuthenticationPolicyName
123
- );
124
- if (!bearerTokenAuthenticationPolicyFound) {
125
- this.pipeline.removePolicy({
126
- name: coreRestPipeline.bearerTokenAuthenticationPolicyName
127
- });
128
- this.pipeline.addPolicy(
129
- coreRestPipeline.bearerTokenAuthenticationPolicy({
130
- scopes: `${optionsWithDefaults.baseUri}/.default`,
131
- challengeCallbacks: {
132
- authorizeRequestOnChallenge:
133
- coreClient.authorizeRequestOnClaimChallenge
134
- }
135
- })
136
- );
137
- }
138
- }
139
115
  // Parameter assignments
140
116
  this.$host = $host;
141
117
  }
@@ -1185,9 +1161,9 @@ const getOracleQueriesByPubkeyOperationSpec: coreClient.OperationSpec = {
1185
1161
  },
1186
1162
  queryParameters: [
1187
1163
  Parameters.intAsString,
1188
- Parameters.fromParam,
1164
+ Parameters.from,
1189
1165
  Parameters.limit,
1190
- Parameters.typeParam
1166
+ Parameters.type
1191
1167
  ],
1192
1168
  urlParameters: [Parameters.$host, Parameters.pubkey],
1193
1169
  headerParameters: [Parameters.accept],
package/src/chain.ts CHANGED
@@ -1,19 +1,3 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2022 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
1
  import { AE_AMOUNT_FORMATS, formatAmount } from './utils/amount-formatter';
18
2
  import verifyTransaction, { ValidatorResult } from './tx/validator';
19
3
  import { isAccountNotFoundError, pause } from './utils/other';
@@ -29,8 +13,11 @@ import {
29
13
  Account as AccountNode, ByteCode, ContractObject, DryRunResult, DryRunResults,
30
14
  Generation, KeyBlock, MicroBlockHeader, NameEntry, SignedTx,
31
15
  } from './apis/node';
32
- import { decode, Encoded, Encoding } from './utils/encoder';
16
+ import {
17
+ decode, encode, Encoded, Encoding,
18
+ } from './utils/encoder';
33
19
  import AccountBase from './account/Base';
20
+ import { buildTxHash } from './tx/builder';
34
21
 
35
22
  /**
36
23
  * @category chain
@@ -154,24 +141,33 @@ export async function waitForTxConfirm(
154
141
  }
155
142
 
156
143
  /**
157
- * Submit a signed transaction for mining
144
+ * Signs and submits transaction for mining
158
145
  * @category chain
159
- * @param tx - Transaction to submit
146
+ * @param txUnsigned - Transaction to sign and submit
160
147
  * @param options - Options
161
148
  * @param options.onNode - Node to use
162
149
  * @param options.onAccount - Account to use
163
- * @param options.verify - Verify transaction before sending
150
+ * @param options.verify - Verify transaction before broadcast, throw error if not
164
151
  * @param options.waitMined - Ensure that transaction get into block
165
152
  * @param options.confirm - Number of micro blocks that should be mined after tx get included
166
153
  * @returns Transaction details
167
154
  */
168
155
  export async function sendTransaction(
169
- tx: Encoded.Transaction,
156
+ txUnsigned: Encoded.Transaction,
170
157
  {
171
- onNode, onAccount, verify = true, waitMined = true, confirm, ...options
158
+ onNode, onAccount, verify = true, waitMined = true, confirm, innerTx, ...options
172
159
  }:
173
160
  SendTransactionOptions,
174
161
  ): Promise<SendTransactionReturnType> {
162
+ const tx = await onAccount.signTransaction(txUnsigned, {
163
+ ...options,
164
+ onNode,
165
+ innerTx,
166
+ networkId: await onNode.getNetworkId(),
167
+ });
168
+
169
+ if (innerTx === true) return { hash: buildTxHash(tx), rawTx: tx };
170
+
175
171
  if (verify) {
176
172
  const validation = await verifyTransaction(tx, onNode);
177
173
  if (validation.length > 0) {
@@ -221,12 +217,13 @@ export async function sendTransaction(
221
217
 
222
218
  type SendTransactionOptionsType = {
223
219
  onNode: Node;
224
- onAccount?: AccountBase;
220
+ onAccount: AccountBase;
225
221
  verify?: boolean;
226
222
  waitMined?: boolean;
227
223
  confirm?: boolean | number;
228
- } & Parameters<typeof poll>[1] & Omit<Parameters<typeof waitForTxConfirm>[1], 'confirm'>;
229
- interface SendTransactionOptions extends SendTransactionOptionsType {}
224
+ } & Parameters<typeof poll>[1] & Omit<Parameters<typeof waitForTxConfirm>[1], 'confirm'>
225
+ & Parameters<AccountBase['signTransaction']>[1];
226
+ export interface SendTransactionOptions extends SendTransactionOptionsType {}
230
227
  interface SendTransactionReturnType extends Partial<TransformNodeType<SignedTx>> {
231
228
  hash: Encoded.TxHash;
232
229
  rawTx: Encoded.Transaction;
@@ -263,11 +260,15 @@ export async function getAccount(
263
260
  * @param options.hash - The block hash on which to obtain the balance for (default: top of chain)
264
261
  */
265
262
  export async function getBalance(
266
- address: Encoded.AccountAddress | Encoded.ContractAddress,
263
+ address: Encoded.AccountAddress | Encoded.ContractAddress | Encoded.OracleAddress,
267
264
  { format = AE_AMOUNT_FORMATS.AETTOS, ...options }:
268
265
  { format?: AE_AMOUNT_FORMATS } & Parameters<typeof getAccount>[1],
269
266
  ): Promise<string> {
270
- const { balance } = await getAccount(address, options).catch((error) => {
267
+ const addr = address.startsWith('ok_')
268
+ ? encode(decode(address), Encoding.AccountAddress)
269
+ : address as Encoded.AccountAddress | Encoded.ContractAddress;
270
+
271
+ const { balance } = await getAccount(addr, options).catch((error) => {
271
272
  if (!isAccountNotFoundError(error)) throw error;
272
273
  return { balance: 0n };
273
274
  });
@@ -353,7 +354,7 @@ export async function getMicroBlockHeader(
353
354
  interface TxDryRunArguments {
354
355
  tx: Encoded.Transaction;
355
356
  accountAddress: Encoded.AccountAddress;
356
- top?: number;
357
+ top?: number | Encoded.KeyBlockHash | Encoded.MicroBlockHash;
357
358
  txEvents?: any;
358
359
  resolve: Function;
359
360
  reject: Function;
@@ -367,8 +368,10 @@ async function txDryRunHandler(key: string, onNode: Node): Promise<void> {
367
368
 
368
369
  let dryRunRes;
369
370
  try {
371
+ const top = typeof rs[0].top === 'number'
372
+ ? (await getKeyBlock(rs[0].top, { onNode })).hash : rs[0].top;
370
373
  dryRunRes = await onNode.protectedDryRunTxs({
371
- top: rs[0].top,
374
+ top,
372
375
  txEvents: rs[0].txEvents,
373
376
  txs: rs.map((req) => ({ tx: req.tx })),
374
377
  accounts: Array.from(new Set(rs.map((req) => req.accountAddress)))
@@ -406,7 +409,7 @@ export async function txDryRun(
406
409
  {
407
410
  top, txEvents, combine, onNode,
408
411
  }:
409
- { top?: number; txEvents?: boolean; combine?: boolean; onNode: Node },
412
+ { top?: TxDryRunArguments['top']; txEvents?: boolean; combine?: boolean; onNode: Node },
410
413
  ): Promise<{
411
414
  txEvents?: TransformNodeType<DryRunResults['txEvents']>;
412
415
  } & TransformNodeType<DryRunResult>> {
@@ -1,19 +1,3 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2022 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
1
  import { EventEmitter } from 'events';
18
2
  import { w3cwebsocket as W3CWebSocket } from 'websocket';
19
3
  import { snakeToPascal } from '../utils/string';
@@ -33,9 +17,12 @@ import {
33
17
  ChannelAction,
34
18
  ChannelStatus,
35
19
  ChannelFsm,
20
+ ChannelMessage,
21
+ ChannelEvents,
36
22
  } from './internal';
37
23
  import { ChannelError } from '../utils/errors';
38
24
  import { Encoded } from '../utils/encoder';
25
+ import { TxUnpacked } from '../tx/builder/schema.generated';
39
26
 
40
27
  function snakeToPascalObjKeys<Type>(obj: object): Type {
41
28
  return Object.entries(obj).reduce((result, [key, val]) => ({
@@ -44,8 +31,6 @@ function snakeToPascalObjKeys<Type>(obj: object): Type {
44
31
  }), {}) as Type;
45
32
  }
46
33
 
47
- type EventCallback = (...args: any[]) => void;
48
-
49
34
  /**
50
35
  * Channel
51
36
  * @example
@@ -78,7 +63,7 @@ export default class Channel {
78
63
 
79
64
  _fsmId?: Encoded.Bytearray;
80
65
 
81
- _messageQueue: object[] = [];
66
+ _messageQueue: ChannelMessage[] = [];
82
67
 
83
68
  _isMessageQueueLocked = false;
84
69
 
@@ -92,7 +77,7 @@ export default class Channel {
92
77
 
93
78
  _websocket: W3CWebSocket;
94
79
 
95
- _state?: Encoded.Transaction;
80
+ _state: Encoded.Transaction | '' = '';
96
81
 
97
82
  _options: ChannelOptions;
98
83
 
@@ -168,19 +153,23 @@ export default class Channel {
168
153
  * Possible events:
169
154
  *
170
155
  * - "error"
156
+ * - "stateChanged"
157
+ * - "statusChanged"
158
+ * - "message"
159
+ * - "peerDisconnected"
171
160
  * - "onChainTx"
172
161
  * - "ownWithdrawLocked"
173
162
  * - "withdrawLocked"
174
163
  * - "ownDepositLocked"
175
164
  * - "depositLocked"
165
+ * - "channelReestablished"
166
+ * - "newContract"
176
167
  *
177
- * TODO: the event list looks outdated
178
168
  *
179
169
  * @param eventName - Event name
180
170
  * @param callback - Callback function
181
171
  */
182
- // TODO define specific callback type depending on the event name
183
- on(eventName: string, callback: EventCallback): void {
172
+ on<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void {
184
173
  this._eventEmitter.on(eventName, callback);
185
174
  }
186
175
 
@@ -189,7 +178,7 @@ export default class Channel {
189
178
  * @param eventName - Event name
190
179
  * @param callback - Callback function
191
180
  */
192
- off(eventName: string, callback: EventCallback): void {
181
+ off<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void {
193
182
  this._eventEmitter.removeListener(eventName, callback);
194
183
  }
195
184
 
@@ -210,8 +199,24 @@ export default class Channel {
210
199
  /**
211
200
  * Get current state
212
201
  */
213
- async state(): Promise<ChannelState> {
214
- return snakeToPascalObjKeys(await call(this, 'channels.get.offchain_state', {}));
202
+ async state(): Promise<{
203
+ calls: TxUnpacked & { tag: Tag.CallsMtree };
204
+ halfSignedTx?: TxUnpacked & { tag: Tag.SignedTx };
205
+ signedTx?: TxUnpacked & { tag: Tag.SignedTx };
206
+ trees: TxUnpacked & { tag: Tag.StateTrees };
207
+ }> {
208
+ const res = snakeToPascalObjKeys<{
209
+ calls: Encoded.CallStateTree;
210
+ halfSignedTx: Encoded.Transaction | '';
211
+ signedTx: Encoded.Transaction | '';
212
+ trees: Encoded.StateTrees;
213
+ }>(await call(this, 'channels.get.offchain_state', {}));
214
+ return {
215
+ calls: unpackTx(res.calls, Tag.CallsMtree),
216
+ ...res.halfSignedTx !== '' && { halfSignedTx: unpackTx(res.halfSignedTx, Tag.SignedTx) },
217
+ ...res.signedTx !== '' && { signedTx: unpackTx(res.signedTx, Tag.SignedTx) },
218
+ trees: unpackTx(res.trees, Tag.StateTrees),
219
+ };
215
220
  }
216
221
 
217
222
  /**
@@ -221,17 +226,17 @@ export default class Channel {
221
226
  * it will return `null`.
222
227
  */
223
228
  round(): number | null {
224
- if (this._state == null) {
229
+ if (this._state === '') {
225
230
  return null;
226
231
  }
227
- const { txType, tx } = unpackTx(this._state, Tag.SignedTx).tx.encodedTx;
228
- switch (txType) {
232
+ const params = unpackTx(this._state, Tag.SignedTx).encodedTx;
233
+ switch (params.tag) {
229
234
  case Tag.ChannelCreateTx:
230
235
  return 1;
231
236
  case Tag.ChannelOffChainTx:
232
237
  case Tag.ChannelWithdrawTx:
233
238
  case Tag.ChannelDepositTx:
234
- return tx.round;
239
+ return params.round;
235
240
  default:
236
241
  return null;
237
242
  }
@@ -321,7 +326,10 @@ export default class Channel {
321
326
 
322
327
  return Channel.initialize({
323
328
  ...options,
324
- reconnectTx: await sign('reconnect', buildTx(txParams, Tag.ChannelClientReconnectTx).tx),
329
+ reconnectTx: await sign(
330
+ 'reconnect',
331
+ buildTx({ ...txParams, tag: Tag.ChannelClientReconnectTx }),
332
+ ),
325
333
  });
326
334
  }
327
335
  }
@@ -1,22 +1,8 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2022 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
1
  import BigNumber from 'bignumber.js';
18
2
  import { snakeToPascal } from '../utils/string';
19
- import { MIN_GAS_PRICE, Tag } from '../tx/builder/constants';
3
+ import {
4
+ MIN_GAS_PRICE, Tag, AbiVersion, VmVersion,
5
+ } from '../tx/builder/constants';
20
6
  import {
21
7
  signAndNotify,
22
8
  awaitingCompletion,
@@ -32,7 +18,7 @@ import { ContractCallReturnType } from '../apis/node';
32
18
  import { ContractCallObject } from '../contract/Contract';
33
19
  import Channel from './Base';
34
20
  import ChannelSpend from './Spend';
35
- import { UnexpectedChannelMessageError } from '../utils/errors';
21
+ import { ChannelError, UnexpectedChannelMessageError } from '../utils/errors';
36
22
  import { unpackTx } from '../tx/builder';
37
23
  import { encodeContractAddress } from '../utils/crypto';
38
24
 
@@ -46,7 +32,7 @@ function snakeToPascalObjKeys<Type>(obj: object): Type {
46
32
  interface CallContractOptions {
47
33
  amount?: number | BigNumber;
48
34
  callData?: Encoded.ContractBytearray;
49
- abiVersion?: number;
35
+ abiVersion?: AbiVersion;
50
36
  contract?: Encoded.ContractAddress;
51
37
  returnValue?: any;
52
38
  gasUsed?: number | BigNumber;
@@ -58,13 +44,13 @@ interface CallContractOptions {
58
44
  }
59
45
 
60
46
  interface Contract {
61
- abiVersion: number;
47
+ abiVersion: AbiVersion;
62
48
  active: boolean;
63
49
  deposit: number | BigNumber;
64
50
  id: string;
65
51
  ownerId: string;
66
52
  referrerIds: string[];
67
- vmVersion: number;
53
+ vmVersion: VmVersion;
68
54
  }
69
55
 
70
56
  export default class ChannelContract extends ChannelSpend {
@@ -113,8 +99,8 @@ export default class ChannelContract extends ChannelSpend {
113
99
  code: Encoded.ContractBytearray;
114
100
  callData: Encoded.ContractBytearray;
115
101
  deposit: number | BigNumber;
116
- vmVersion: number;
117
- abiVersion: number;
102
+ vmVersion: VmVersion;
103
+ abiVersion: AbiVersion;
118
104
  },
119
105
  sign: SignTx,
120
106
  ): Promise<{
@@ -150,17 +136,17 @@ export default class ChannelContract extends ChannelSpend {
150
136
  state2: ChannelState,
151
137
  ): ChannelFsm => (
152
138
  awaitingCompletion(this, message2, state2, () => {
153
- const { round } = unpackTx(message2.params.data.state, Tag.SignedTx)
154
- .tx.encodedTx.tx;
139
+ const params = unpackTx(message2.params.data.state, Tag.SignedTx).encodedTx;
140
+ if (params.tag !== Tag.ChannelOffChainTx) {
141
+ throw new ChannelError(`Tag should be ${Tag[Tag.ChannelOffChainTx]}, got ${Tag[params.tag]} instead`);
142
+ }
155
143
  const addressKey = this._options.role === 'initiator'
156
144
  ? 'initiatorId' : 'responderId';
157
145
  const owner = this._options[addressKey];
158
146
  changeState(this, message2.params.data.state);
159
- state2.resolve({
160
- accepted: true,
161
- address: encodeContractAddress(owner, round),
162
- signedTx: message2.params.data.state,
163
- });
147
+ const address = encodeContractAddress(owner, params.round);
148
+ emit(this, 'newContract', address);
149
+ state2.resolve({ accepted: true, address, signedTx: message2.params.data.state });
164
150
  return { handler: channelOpen };
165
151
  })
166
152
  ),
@@ -294,7 +280,7 @@ export default class ChannelContract extends ChannelSpend {
294
280
  amount: number;
295
281
  callData: Encoded.ContractBytearray;
296
282
  contract: Encoded.ContractAddress;
297
- abiVersion: number;
283
+ abiVersion: AbiVersion;
298
284
  gasLimit?: number;
299
285
  gasPrice?: number;
300
286
  },
@@ -390,7 +376,7 @@ export default class ChannelContract extends ChannelSpend {
390
376
  amount: number;
391
377
  callData: Encoded.ContractBytearray;
392
378
  contract: Encoded.ContractAddress;
393
- abiVersion: number;
379
+ abiVersion: AbiVersion;
394
380
  },
395
381
  ): Promise<CallContractOptions> {
396
382
  return snakeToPascalObjKeys(await call(this, 'channels.dry_run.call_contract', {
@@ -1,19 +1,3 @@
1
- /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2022 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
1
  import BigNumber from 'bignumber.js';
18
2
  import {
19
3
  notify, call, SignTx, ChannelState, ChannelMessage, ChannelFsm, changeState,
@@ -25,6 +9,9 @@ import { ChannelConnectionError } from '../utils/errors';
25
9
  import {
26
10
  awaitingCompletion, channelOpen, handleUnexpectedMessage, signAndNotify,
27
11
  } from './handlers';
12
+ import { unpackTx } from '../tx/builder';
13
+ import { Tag } from '../tx/builder/constants';
14
+ import { TxUnpacked } from '../tx/builder/schema.generated';
28
15
 
29
16
  export default class ChannelSpend extends Channel {
30
17
  /**
@@ -133,8 +120,11 @@ export default class ChannelSpend extends Channel {
133
120
  accounts: Encoded.AccountAddress[];
134
121
  contracts?: Encoded.ContractAddress[];
135
122
  },
136
- ): Promise<Encoded.Poi> {
137
- return (await call(this, 'channels.get.poi', { accounts, contracts })).poi;
123
+ ): Promise<TxUnpacked & { tag: Tag.TreesPoi }> {
124
+ return unpackTx(
125
+ (await call(this, 'channels.get.poi', { accounts, contracts })).poi,
126
+ Tag.TreesPoi,
127
+ );
138
128
  }
139
129
 
140
130
  /**