@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
@@ -10,8 +10,8 @@ export declare const strategy: OperationQueryParameter;
10
10
  export declare const contentType: OperationParameter;
11
11
  export declare const body: OperationParameter;
12
12
  export declare const body1: OperationParameter;
13
- export declare const fromParam: OperationQueryParameter;
13
+ export declare const from: OperationQueryParameter;
14
14
  export declare const limit: OperationQueryParameter;
15
- export declare const typeParam: OperationQueryParameter;
15
+ export declare const type: OperationQueryParameter;
16
16
  export declare const queryId: OperationURLParameter;
17
17
  export declare const name: OperationURLParameter;
@@ -72,26 +72,26 @@ export declare function waitForTxConfirm(txHash: Encoded.TxHash, { confirm, onNo
72
72
  onNode: Node;
73
73
  } & Parameters<typeof awaitHeight>[1]): Promise<number>;
74
74
  /**
75
- * Submit a signed transaction for mining
75
+ * Signs and submits transaction for mining
76
76
  * @category chain
77
- * @param tx - Transaction to submit
77
+ * @param txUnsigned - Transaction to sign and submit
78
78
  * @param options - Options
79
79
  * @param options.onNode - Node to use
80
80
  * @param options.onAccount - Account to use
81
- * @param options.verify - Verify transaction before sending
81
+ * @param options.verify - Verify transaction before broadcast, throw error if not
82
82
  * @param options.waitMined - Ensure that transaction get into block
83
83
  * @param options.confirm - Number of micro blocks that should be mined after tx get included
84
84
  * @returns Transaction details
85
85
  */
86
- export declare function sendTransaction(tx: Encoded.Transaction, { onNode, onAccount, verify, waitMined, confirm, ...options }: SendTransactionOptions): Promise<SendTransactionReturnType>;
86
+ export declare function sendTransaction(txUnsigned: Encoded.Transaction, { onNode, onAccount, verify, waitMined, confirm, innerTx, ...options }: SendTransactionOptions): Promise<SendTransactionReturnType>;
87
87
  type SendTransactionOptionsType = {
88
88
  onNode: Node;
89
- onAccount?: AccountBase;
89
+ onAccount: AccountBase;
90
90
  verify?: boolean;
91
91
  waitMined?: boolean;
92
92
  confirm?: boolean | number;
93
- } & Parameters<typeof poll>[1] & Omit<Parameters<typeof waitForTxConfirm>[1], 'confirm'>;
94
- interface SendTransactionOptions extends SendTransactionOptionsType {
93
+ } & Parameters<typeof poll>[1] & Omit<Parameters<typeof waitForTxConfirm>[1], 'confirm'> & Parameters<AccountBase['signTransaction']>[1];
94
+ export interface SendTransactionOptions extends SendTransactionOptionsType {
95
95
  }
96
96
  interface SendTransactionReturnType extends Partial<TransformNodeType<SignedTx>> {
97
97
  hash: Encoded.TxHash;
@@ -122,7 +122,7 @@ export declare function getAccount(address: Encoded.AccountAddress | Encoded.Con
122
122
  * (default: top of chain)
123
123
  * @param options.hash - The block hash on which to obtain the balance for (default: top of chain)
124
124
  */
125
- export declare function getBalance(address: Encoded.AccountAddress | Encoded.ContractAddress, { format, ...options }: {
125
+ export declare function getBalance(address: Encoded.AccountAddress | Encoded.ContractAddress | Encoded.OracleAddress, { format, ...options }: {
126
126
  format?: AE_AMOUNT_FORMATS;
127
127
  } & Parameters<typeof getAccount>[1]): Promise<string>;
128
128
  /**
@@ -179,6 +179,14 @@ export declare function getKeyBlock(hashOrHeight: Encoded.KeyBlockHash | number,
179
179
  export declare function getMicroBlockHeader(hash: Encoded.MicroBlockHash, { onNode }: {
180
180
  onNode: Node;
181
181
  }): Promise<TransformNodeType<MicroBlockHeader>>;
182
+ interface TxDryRunArguments {
183
+ tx: Encoded.Transaction;
184
+ accountAddress: Encoded.AccountAddress;
185
+ top?: number | Encoded.KeyBlockHash | Encoded.MicroBlockHash;
186
+ txEvents?: any;
187
+ resolve: Function;
188
+ reject: Function;
189
+ }
182
190
  /**
183
191
  * Transaction dry-run
184
192
  * @category chain
@@ -191,7 +199,7 @@ export declare function getMicroBlockHeader(hash: Encoded.MicroBlockHash, { onNo
191
199
  * @param options.onNode - Node to use
192
200
  */
193
201
  export declare function txDryRun(tx: Encoded.Transaction, accountAddress: Encoded.AccountAddress, { top, txEvents, combine, onNode, }: {
194
- top?: number;
202
+ top?: TxDryRunArguments['top'];
195
203
  txEvents?: boolean;
196
204
  combine?: boolean;
197
205
  onNode: Node;
@@ -1,9 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import { EventEmitter } from 'events';
3
3
  import { w3cwebsocket as W3CWebSocket } from 'websocket';
4
- import { SignTx, ChannelOptions, ChannelState, ChannelHandler, ChannelAction, ChannelStatus, ChannelFsm } from './internal';
4
+ import { Tag } from '../tx/builder/constants';
5
+ import { SignTx, ChannelOptions, ChannelState, ChannelHandler, ChannelAction, ChannelStatus, ChannelFsm, ChannelMessage, ChannelEvents } from './internal';
5
6
  import { Encoded } from '../utils/encoder';
6
- type EventCallback = (...args: any[]) => void;
7
+ import { TxUnpacked } from '../tx/builder/schema.generated';
7
8
  /**
8
9
  * Channel
9
10
  * @example
@@ -31,14 +32,14 @@ export default class Channel {
31
32
  _nextRpcMessageId: number;
32
33
  _rpcCallbacks: Map<number, (message: object) => void>;
33
34
  _fsmId?: Encoded.Bytearray;
34
- _messageQueue: object[];
35
+ _messageQueue: ChannelMessage[];
35
36
  _isMessageQueueLocked: boolean;
36
37
  _actionQueue: ChannelAction[];
37
38
  _isActionQueueLocked: boolean;
38
39
  _status: ChannelStatus;
39
40
  _fsm: ChannelFsm;
40
41
  _websocket: W3CWebSocket;
41
- _state?: Encoded.Transaction;
42
+ _state: Encoded.Transaction | '';
42
43
  _options: ChannelOptions;
43
44
  _channelId?: Encoded.Channel;
44
45
  /**
@@ -99,24 +100,29 @@ export default class Channel {
99
100
  * Possible events:
100
101
  *
101
102
  * - "error"
103
+ * - "stateChanged"
104
+ * - "statusChanged"
105
+ * - "message"
106
+ * - "peerDisconnected"
102
107
  * - "onChainTx"
103
108
  * - "ownWithdrawLocked"
104
109
  * - "withdrawLocked"
105
110
  * - "ownDepositLocked"
106
111
  * - "depositLocked"
112
+ * - "channelReestablished"
113
+ * - "newContract"
107
114
  *
108
- * TODO: the event list looks outdated
109
115
  *
110
116
  * @param eventName - Event name
111
117
  * @param callback - Callback function
112
118
  */
113
- on(eventName: string, callback: EventCallback): void;
119
+ on<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void;
114
120
  /**
115
121
  * Remove event listener function
116
122
  * @param eventName - Event name
117
123
  * @param callback - Callback function
118
124
  */
119
- off(eventName: string, callback: EventCallback): void;
125
+ off<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void;
120
126
  /**
121
127
  * Close the connection
122
128
  */
@@ -128,7 +134,20 @@ export default class Channel {
128
134
  /**
129
135
  * Get current state
130
136
  */
131
- state(): Promise<ChannelState>;
137
+ state(): Promise<{
138
+ calls: TxUnpacked & {
139
+ tag: Tag.CallsMtree;
140
+ };
141
+ halfSignedTx?: TxUnpacked & {
142
+ tag: Tag.SignedTx;
143
+ };
144
+ signedTx?: TxUnpacked & {
145
+ tag: Tag.SignedTx;
146
+ };
147
+ trees: TxUnpacked & {
148
+ tag: Tag.StateTrees;
149
+ };
150
+ }>;
132
151
  /**
133
152
  * Get current round
134
153
  *
@@ -191,4 +210,3 @@ export default class Channel {
191
210
  shutdown(sign: SignTx): Promise<Encoded.Transaction>;
192
211
  static reconnect(options: ChannelOptions, txParams: any): Promise<Channel>;
193
212
  }
194
- export {};
@@ -1,4 +1,5 @@
1
1
  import BigNumber from 'bignumber.js';
2
+ import { AbiVersion, VmVersion } from '../tx/builder/constants';
2
3
  import { SignTx, ChannelState, ChannelOptions } from './internal';
3
4
  import { Encoded } from '../utils/encoder';
4
5
  import { ContractCallReturnType } from '../apis/node';
@@ -7,7 +8,7 @@ import ChannelSpend from './Spend';
7
8
  interface CallContractOptions {
8
9
  amount?: number | BigNumber;
9
10
  callData?: Encoded.ContractBytearray;
10
- abiVersion?: number;
11
+ abiVersion?: AbiVersion;
11
12
  contract?: Encoded.ContractAddress;
12
13
  returnValue?: any;
13
14
  gasUsed?: number | BigNumber;
@@ -18,13 +19,13 @@ interface CallContractOptions {
18
19
  returnType?: ContractCallReturnType;
19
20
  }
20
21
  interface Contract {
21
- abiVersion: number;
22
+ abiVersion: AbiVersion;
22
23
  active: boolean;
23
24
  deposit: number | BigNumber;
24
25
  id: string;
25
26
  ownerId: string;
26
27
  referrerIds: string[];
27
- vmVersion: number;
28
+ vmVersion: VmVersion;
28
29
  }
29
30
  export default class ChannelContract extends ChannelSpend {
30
31
  static initialize(options: ChannelOptions): Promise<ChannelContract>;
@@ -66,8 +67,8 @@ export default class ChannelContract extends ChannelSpend {
66
67
  code: Encoded.ContractBytearray;
67
68
  callData: Encoded.ContractBytearray;
68
69
  deposit: number | BigNumber;
69
- vmVersion: number;
70
- abiVersion: number;
70
+ vmVersion: VmVersion;
71
+ abiVersion: AbiVersion;
71
72
  }, sign: SignTx): Promise<{
72
73
  accepted: boolean;
73
74
  signedTx: Encoded.Transaction;
@@ -148,7 +149,7 @@ export default class ChannelContract extends ChannelSpend {
148
149
  amount: number;
149
150
  callData: Encoded.ContractBytearray;
150
151
  contract: Encoded.ContractAddress;
151
- abiVersion: number;
152
+ abiVersion: AbiVersion;
152
153
  gasLimit?: number;
153
154
  gasPrice?: number;
154
155
  }, sign: SignTx, { onOnChainTx }?: Pick<ChannelState, 'onOnChainTx'>): Promise<{
@@ -189,7 +190,7 @@ export default class ChannelContract extends ChannelSpend {
189
190
  amount: number;
190
191
  callData: Encoded.ContractBytearray;
191
192
  contract: Encoded.ContractAddress;
192
- abiVersion: number;
193
+ abiVersion: AbiVersion;
193
194
  }): Promise<CallContractOptions>;
194
195
  /**
195
196
  * Get contract call result
@@ -2,6 +2,8 @@ import BigNumber from 'bignumber.js';
2
2
  import { SignTx, ChannelState } from './internal';
3
3
  import { Encoded } from '../utils/encoder';
4
4
  import Channel from './Base';
5
+ import { Tag } from '../tx/builder/constants';
6
+ import { TxUnpacked } from '../tx/builder/schema.generated';
5
7
  export default class ChannelSpend extends Channel {
6
8
  /**
7
9
  * Trigger a transfer update
@@ -61,7 +63,9 @@ export default class ChannelSpend extends Channel {
61
63
  poi({ accounts, contracts }: {
62
64
  accounts: Encoded.AccountAddress[];
63
65
  contracts?: Encoded.ContractAddress[];
64
- }): Promise<Encoded.Poi>;
66
+ }): Promise<TxUnpacked & {
67
+ tag: Tag.TreesPoi;
68
+ }>;
65
69
  /**
66
70
  * Get balances
67
71
  *
@@ -2,6 +2,23 @@ import BigNumber from 'bignumber.js';
2
2
  import type Channel from './Base';
3
3
  import { Encoded } from '../utils/encoder';
4
4
  import { BaseError } from '../utils/errors';
5
+ export interface ChannelEvents {
6
+ statusChanged: (status: ChannelStatus) => void;
7
+ stateChanged: (tx: Encoded.Transaction | '') => void;
8
+ depositLocked: () => void;
9
+ ownDepositLocked: () => void;
10
+ withdrawLocked: () => void;
11
+ ownWithdrawLocked: () => void;
12
+ peerDisconnected: () => void;
13
+ channelReestablished: () => void;
14
+ error: (error: Error) => void;
15
+ onChainTx: (tx: Encoded.Transaction, details: {
16
+ info: string;
17
+ type: string;
18
+ }) => void;
19
+ message: (message: string | Object) => void;
20
+ newContract: (contractAddress: Encoded.ContractAddress) => void;
21
+ }
5
22
  export interface ChannelAction {
6
23
  guard: (channel: Channel, state?: ChannelFsm) => boolean;
7
24
  action: (channel: Channel, state?: ChannelFsm) => ChannelFsm;
@@ -92,10 +109,13 @@ interface ChannelMessageError {
92
109
  ];
93
110
  request: ChannelMessage;
94
111
  }
95
- export declare function emit(channel: Channel, ...args: any[]): void;
112
+ export declare function emit<E extends keyof ChannelEvents>(channel: Channel, ...args: [
113
+ E,
114
+ ...Parameters<ChannelEvents[E]>
115
+ ]): void;
96
116
  export type ChannelStatus = 'connecting' | 'connected' | 'accepted' | 'halfSigned' | 'signed' | 'open' | 'closing' | 'closed' | 'died' | 'disconnected';
97
117
  export declare function changeStatus(channel: Channel, newStatus: ChannelStatus): void;
98
- export declare function changeState(channel: Channel, newState: Encoded.Transaction): void;
118
+ export declare function changeState(channel: Channel, newState: Encoded.Transaction | ''): void;
99
119
  export declare function notify(channel: Channel, method: string, params?: object): void;
100
120
  export declare function enqueueAction(channel: Channel, guard: ChannelAction['guard'], action: () => {
101
121
  handler: ChannelHandler;
@@ -7,39 +7,19 @@
7
7
  */
8
8
  import { Encoder as Calldata } from '@aeternity/aepp-calldata';
9
9
  import { Tag, AensName } from '../tx/builder/constants';
10
- import { unpackTx } from '../tx/builder';
11
- import { send } from '../spend';
10
+ import { BuildTxOptions } from '../tx/builder';
12
11
  import { Encoded } from '../utils/encoder';
13
- import { Aci as BaseAci } from '../apis/compiler';
14
- import { ContractCallObject as NodeContractCallObject, ContractCallReturnType, Event as NodeEvent } from '../apis/node';
15
- import CompilerHttp from './CompilerHttp';
12
+ import { ContractCallObject as NodeContractCallObject, Event as NodeEvent } from '../apis/node';
13
+ import CompilerBase, { Aci } from './compiler/Base';
16
14
  import Node, { TransformNodeType } from '../Node';
15
+ import { txDryRun, sendTransaction, SendTransactionOptions } from '../chain';
17
16
  import AccountBase from '../account/Base';
18
- interface FunctionACI {
19
- arguments: any[];
20
- name: string;
21
- payable: boolean;
22
- returns: string;
23
- stateful: boolean;
24
- }
25
- interface Aci extends BaseAci {
26
- encodedAci: {
27
- contract: {
28
- name: string;
29
- event: any;
30
- kind: string;
31
- state: any;
32
- type_defs: any[];
33
- functions: FunctionACI[];
34
- };
35
- };
36
- externalEncodedAci: any[];
37
- }
17
+ import { TxUnpacked } from '../tx/builder/schema.generated';
38
18
  interface Event extends NodeEvent {
39
19
  address: Encoded.ContractAddress;
40
20
  data: Encoded.ContractBytearray;
41
21
  }
42
- export interface ContractCallObject extends NodeContractCallObject {
22
+ export interface ContractCallObject extends TransformNodeType<NodeContractCallObject> {
43
23
  returnValue: Encoded.ContractBytearray;
44
24
  log: Event[];
45
25
  }
@@ -51,11 +31,13 @@ interface DecodedEvent {
51
31
  address: Encoded.ContractAddress;
52
32
  };
53
33
  }
54
- type TxData = Awaited<ReturnType<typeof send>>;
34
+ type TxData = Awaited<ReturnType<typeof sendTransaction>>;
55
35
  interface SendAndProcessReturnType {
56
- result?: TransformNodeType<ContractCallObject>;
36
+ result?: ContractCallObject;
57
37
  hash: TxData['hash'];
58
- tx: Awaited<ReturnType<any>>;
38
+ tx: TxUnpacked & {
39
+ tag: Tag.ContractCallTx | Tag.ContractCreateTx;
40
+ };
59
41
  txData: TxData;
60
42
  rawTx: Encoded.Transaction;
61
43
  }
@@ -63,15 +45,13 @@ export interface ContractMethodsBase {
63
45
  [key: string]: (...args: any[]) => any;
64
46
  }
65
47
  type MethodsToContractApi<M extends ContractMethodsBase> = {
66
- [Name in keyof M]: M[Name] extends (...args: infer Args) => infer Ret ? (...args: [
48
+ [Name in keyof M]: M[Name] extends (...args: infer Args) => any ? (...args: [
67
49
  ...Args,
68
50
  ...[
69
51
  ] | [
70
52
  Name extends 'init' ? Parameters<Contract<M>['$deploy']>[1] : Parameters<Contract<M>['$call']>[2]
71
53
  ]
72
- ]) => Promise<Awaited<ReturnType<Contract<M>['$call']>> & {
73
- decodedResult?: Ret;
74
- }> : never;
54
+ ]) => ReturnType<Contract<M>['$call']> : never;
75
55
  };
76
56
  type ContractWithMethods<M extends ContractMethodsBase> = Contract<M> & MethodsToContractApi<M>;
77
57
  type MethodNames<M extends ContractMethodsBase> = keyof M & string | 'init';
@@ -79,6 +59,15 @@ type MethodParameters<M extends ContractMethodsBase, Fn extends MethodNames<M>>
79
59
  init: any;
80
60
  } ? Parameters<M['init']> : [
81
61
  ] : Parameters<M[Fn]>;
62
+ interface GetContractNameByEventOptions {
63
+ contractAddressToName?: {
64
+ [key: string]: string;
65
+ };
66
+ }
67
+ interface GetCallResultByHashReturnType<M extends ContractMethodsBase, Fn extends MethodNames<M>> {
68
+ decodedResult: ReturnType<M[Fn]>;
69
+ decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;
70
+ }
82
71
  /**
83
72
  * Generate contract ACI object with predefined js methods for contract usage - can be used for
84
73
  * creating a reference to already deployed contracts
@@ -97,73 +86,28 @@ type MethodParameters<M extends ContractMethodsBase, Fn extends MethodNames<M>>
97
86
  * stateful or not
98
87
  */
99
88
  declare class Contract<M extends ContractMethodsBase> {
100
- /**
101
- * Helper to generate a signature to delegate
102
- * - pre-claim/claim/transfer/revoke of a name to a contract.
103
- * - register/extend/respond of an Oracle to a contract.
104
- * @category contract
105
- * @param ids - The list of id's to prepend
106
- * @param _options - Options
107
- * @param _options.omitAddress - Prepend delegation signature with an account address
108
- * @param _options.onAccount - Account to use
109
- * @returns Signature
110
- * @example
111
- * ```js
112
- * const aeSdk = new AeSdk({ ... })
113
- * const contract = await aeSdk.initializeContract({ address: 'ct_asd2ks...' })
114
- * const aensName = 'example.chain'
115
- * const onAccount = new MemoryAccount(...) // Sign with a specific account
116
- * // Preclaim signature
117
- * const preclaimSig = await contract.$createDelegationSignature([], { onAccount })
118
- * // Claim, transfer and revoke signature
119
- * const aensDelegationSig = await contract
120
- * .$createDelegationSignature([aensName], { onAccount })
121
- * ```
122
- * @example
123
- * ```js
124
- * const aeSdk = new AeSdk({ ... })
125
- * const contract = await aeSdk.initializeContract({ address: 'ct_asd2ks...' })
126
- * const oracleQueryId = 'oq_...'
127
- * const onAccount = new MemoryAccount(...) // Sign with a specific account
128
- * // Oracle register and extend signature
129
- * const oracleDelegationSig = await contract.$createDelegationSignature([], { onAccount })
130
- * // Oracle respond signature
131
- * const respondSig = await contract
132
- * .$createDelegationSignature([oracleQueryId], { onAccount, omitAddress: true })
133
- * ```
134
- */
135
- $createDelegationSignature(ids?: Array<Encoded.Any | AensName>, _options?: {
136
- omitAddress?: boolean;
137
- onAccount?: AccountBase;
138
- }): Promise<Uint8Array>;
89
+ #private;
139
90
  /**
140
91
  * Compile contract
141
92
  * @returns bytecode
142
93
  */
143
94
  $compile(): Promise<Encoded.ContractBytearray>;
144
- protected _handleCallError({ returnType, returnValue }: {
145
- returnType: ContractCallReturnType;
146
- returnValue: Encoded.ContractBytearray;
147
- }, transaction: string): void;
148
- protected _sendAndProcess(tx: Encoded.Transaction, options: any): Promise<SendAndProcessReturnType>;
149
- _estimateGas<Fn extends MethodNames<M>>(name: Fn, params: MethodParameters<M, Fn>, options?: object): Promise<number>;
95
+ $getCallResultByTxHash<Fn extends MethodNames<M>>(hash: Encoded.TxHash, fnName: Fn, options?: Parameters<Contract<M>['$decodeEvents']>[1]): Promise<GetCallResultByHashReturnType<M, Fn> & {
96
+ result: ContractCallObject;
97
+ }>;
98
+ _estimateGas<Fn extends MethodNames<M>>(name: Fn, params: MethodParameters<M, Fn>, options?: Omit<Parameters<Contract<M>['$call']>[2], 'callStatic'>): Promise<number>;
150
99
  /**
151
100
  * Deploy contract
152
101
  * @param params - Contract init function arguments array
153
102
  * @param options - Options
154
103
  * @returns deploy info
155
104
  */
156
- $deploy(params: MethodParameters<M, 'init'>, options?: Parameters<Contract<M>['$call']>[2] & Parameters<Contract<M>['_sendAndProcess']>[1]): Promise<Omit<SendAndProcessReturnType, 'hash'> & {
105
+ $deploy(params: MethodParameters<M, 'init'>, options?: Parameters<Contract<M>['$call']>[2] & Partial<BuildTxOptions<Tag.ContractCreateTx, 'ownerId' | 'code' | 'callData'>>): Promise<Omit<SendAndProcessReturnType, 'hash'> & {
157
106
  transaction?: Encoded.TxHash;
158
107
  owner?: Encoded.AccountAddress;
159
108
  address?: Encoded.ContractAddress;
109
+ decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;
160
110
  }>;
161
- /**
162
- * Get function schema from contract ACI object
163
- * @param name - Function name
164
- * @returns function ACI
165
- */
166
- protected _getFunctionACI(name: string): Partial<FunctionACI>;
167
111
  /**
168
112
  * Call contract function
169
113
  * @param fn - Function name
@@ -171,23 +115,11 @@ declare class Contract<M extends ContractMethodsBase> {
171
115
  * @param options - Array of function arguments
172
116
  * @returns CallResult
173
117
  */
174
- $call<Fn extends MethodNames<M>>(fn: Fn, params: MethodParameters<M, Fn>, options?: object): Promise<{
175
- decodedResult?: any;
176
- decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;
177
- } & SendAndProcessReturnType>;
178
- /**
179
- * @param ctAddress - Contract address that emitted event
180
- * @param nameHash - Hash of emitted event name
181
- * @param options - Options
182
- * @returns Contract name
183
- * @throws {@link MissingEventDefinitionError}
184
- * @throws {@link AmbiguousEventDefinitionError}
185
- */
186
- protected _getContractNameByEvent(ctAddress: Encoded.ContractAddress, nameHash: BigInt, { contractAddressToName }: {
187
- contractAddressToName?: {
188
- [key: string]: string;
189
- };
190
- }): string;
118
+ $call<Fn extends MethodNames<M>>(fn: Fn, params: MethodParameters<M, Fn>, options?: Partial<BuildTxOptions<Tag.ContractCallTx, 'callerId' | 'contractId' | 'callData'>> & Parameters<Contract<M>['$decodeEvents']>[1] & Omit<SendTransactionOptions, 'onAccount' | 'onNode'> & Omit<Parameters<typeof txDryRun>[2], 'onNode'> & {
119
+ onAccount?: AccountBase;
120
+ onNode?: Node;
121
+ callStatic?: boolean;
122
+ }): Promise<SendAndProcessReturnType & Partial<GetCallResultByHashReturnType<M, Fn>>>;
191
123
  /**
192
124
  * Decode Events
193
125
  * @param events - Array of encoded events (callRes.result.log)
@@ -196,8 +128,8 @@ declare class Contract<M extends ContractMethodsBase> {
196
128
  */
197
129
  $decodeEvents(events: Event[], { omitUnknown, ...opt }?: {
198
130
  omitUnknown?: boolean;
199
- } & Parameters<Contract<M>['_getContractNameByEvent']>[2]): DecodedEvent[];
200
- static initialize<M extends ContractMethodsBase>({ onCompiler, onNode, sourceCode, bytecode, aci, address, fileSystem, validateBytecode, ...otherOptions }: Omit<ConstructorParameters<typeof Contract>[0], 'aci' | 'address'> & {
131
+ } & GetContractNameByEventOptions): DecodedEvent[];
132
+ static initialize<M extends ContractMethodsBase>({ onCompiler, onNode, bytecode, aci, address, sourceCodePath, sourceCode, fileSystem, validateBytecode, ...otherOptions }: Omit<ConstructorParameters<typeof Contract>[0], 'aci' | 'address'> & {
201
133
  validateBytecode?: boolean;
202
134
  aci?: Aci;
203
135
  address?: Encoded.ContractAddress | AensName;
@@ -205,29 +137,17 @@ declare class Contract<M extends ContractMethodsBase> {
205
137
  _aci: Aci;
206
138
  _name: string;
207
139
  _calldata: Calldata;
208
- $options: {
209
- sourceCode?: string;
210
- bytecode?: Encoded.ContractBytearray;
211
- address?: Encoded.ContractAddress;
212
- onCompiler: CompilerHttp;
213
- onNode: Node;
214
- omitUnknown?: boolean;
215
- contractAddressToName?: {
216
- [key: string]: string;
217
- };
218
- [key: string]: any;
219
- };
140
+ $options: Omit<ConstructorParameters<typeof Contract>[0], 'aci'>;
220
141
  constructor({ aci, ...otherOptions }: {
221
- onAccount?: AccountBase;
222
- onCompiler: CompilerHttp;
142
+ onCompiler?: CompilerBase;
223
143
  onNode: Node;
224
- sourceCode?: string;
225
144
  bytecode?: Encoded.ContractBytearray;
226
145
  aci: Aci;
227
146
  address?: Encoded.ContractAddress;
228
- fileSystem?: Record<string, string>;
229
- [key: string]: any;
230
- });
147
+ sourceCodePath?: Parameters<CompilerBase['compile']>[0];
148
+ sourceCode?: Parameters<CompilerBase['compileBySourceCode']>[0];
149
+ fileSystem?: Parameters<CompilerBase['compileBySourceCode']>[1];
150
+ } & Parameters<Contract<M>['$deploy']>[1]);
231
151
  }
232
152
  interface ContractWithMethodsClass {
233
153
  new <M extends ContractMethodsBase>(options: ConstructorParameters<typeof Contract>[0]): ContractWithMethods<M>;
@@ -0,0 +1,74 @@
1
+ import { Encoded } from '../../utils/encoder';
2
+ interface FunctionAci {
3
+ arguments: any[];
4
+ name: string;
5
+ payable: boolean;
6
+ returns: any;
7
+ stateful: boolean;
8
+ }
9
+ export type Aci = Array<{
10
+ contract?: {
11
+ name: string;
12
+ event?: any;
13
+ functions: FunctionAci[];
14
+ };
15
+ }>;
16
+ /**
17
+ * A base class for all compiler implementations
18
+ */
19
+ export default abstract class CompilerBase {
20
+ /**
21
+ * Compile contract by contract's path
22
+ * Available only in Node.js
23
+ * @param path - Path to contract source code
24
+ * @returns ACI and bytecode
25
+ */
26
+ abstract compile(path: string): Promise<{
27
+ bytecode: Encoded.ContractBytearray;
28
+ aci: Aci;
29
+ }>;
30
+ /**
31
+ * Compile contract by contract's source code
32
+ * @param sourceCode - Contract source code as string
33
+ * @param fileSystem - A map of contract filename to the corresponding contract source code to
34
+ * include into the main contract
35
+ * @example
36
+ * ```js
37
+ * {
38
+ * 'library.aes': 'namespace TestLib =\n function sum(x: int, y: int) : int = x + y'
39
+ * }
40
+ * ```
41
+ * @returns ACI and bytecode
42
+ */
43
+ abstract compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{
44
+ bytecode: Encoded.ContractBytearray;
45
+ aci: Aci;
46
+ }>;
47
+ /**
48
+ * Verify that a contract bytecode is the result of compiling the given source code
49
+ * Available only in Node.js
50
+ * @param bytecode - Contract bytecode to verify
51
+ * @param path - Path to contract source code
52
+ * @returns ACI and bytecode
53
+ */
54
+ abstract validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;
55
+ /**
56
+ * Verify that a contract bytecode is the result of compiling the given source code
57
+ * @param bytecode - Contract bytecode to verify
58
+ * @param sourceCode - Contract source code as string
59
+ * @param fileSystem - A map of contract filename to the corresponding contract source code to
60
+ * include into the main contract
61
+ * @example
62
+ * ```js
63
+ * {
64
+ * 'library.aes': 'namespace TestLib =\n function sum(x: int, y: int) : int = x + y'
65
+ * }
66
+ * ```
67
+ */
68
+ abstract validateBySourceCode(bytecode: Encoded.ContractBytearray, sourceCode: string, fileSystem?: Record<string, string>): Promise<boolean>;
69
+ /**
70
+ * @returns Compiler version
71
+ */
72
+ abstract version(): Promise<string>;
73
+ }
74
+ export {};
@@ -0,0 +1,23 @@
1
+ import CompilerBase, { Aci } from './Base';
2
+ import { Encoded } from '../../utils/encoder';
3
+ /**
4
+ * A wrapper around aesophia_cli, available only in Node.js
5
+ * Assumes that `escript` is available in PATH.
6
+ */
7
+ export default class CompilerCli extends CompilerBase {
8
+ #private;
9
+ constructor(compilerPath?: string, { ignoreVersion }?: {
10
+ ignoreVersion?: boolean;
11
+ });
12
+ compile(path: string): Promise<{
13
+ bytecode: Encoded.ContractBytearray;
14
+ aci: Aci;
15
+ }>;
16
+ compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{
17
+ bytecode: Encoded.ContractBytearray;
18
+ aci: Aci;
19
+ }>;
20
+ validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;
21
+ validateBySourceCode(bytecode: Encoded.ContractBytearray, sourceCode: string, fileSystem?: Record<string, string>): Promise<boolean>;
22
+ version(): Promise<string>;
23
+ }