@aeternity/aepp-sdk 13.2.2 → 13.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/bin/aesophia_cli +0 -0
  4. package/bin/aesophia_cli_8 +0 -0
  5. package/dist/aepp-sdk.browser-script.js +1 -1
  6. package/dist/aepp-sdk.browser-script.js.map +1 -1
  7. package/dist/aepp-sdk.browser.js +1 -1
  8. package/dist/aepp-sdk.browser.js.map +1 -1
  9. package/dist/aepp-sdk.js +9171 -7086
  10. package/dist/aepp-sdk.js.map +1 -1
  11. package/es/AeSdk.d.ts +3 -0
  12. package/es/AeSdk.mjs +12 -12
  13. package/es/AeSdk.mjs.map +1 -1
  14. package/es/AeSdkAepp.d.ts +0 -1
  15. package/es/AeSdkAepp.mjs +12 -16
  16. package/es/AeSdkAepp.mjs.map +1 -1
  17. package/es/AeSdkBase.d.ts +61 -6
  18. package/es/AeSdkBase.mjs +150 -69
  19. package/es/AeSdkBase.mjs.map +1 -1
  20. package/es/AeSdkMethods.d.ts +19 -7
  21. package/es/AeSdkMethods.mjs +39 -38
  22. package/es/AeSdkMethods.mjs.map +1 -1
  23. package/es/AeSdkWallet.mjs +86 -55
  24. package/es/AeSdkWallet.mjs.map +1 -1
  25. package/es/Middleware.mjs +31 -27
  26. package/es/Middleware.mjs.map +1 -1
  27. package/es/MiddlewareSubscriber.mjs +5 -14
  28. package/es/MiddlewareSubscriber.mjs.map +1 -1
  29. package/es/Node.d.ts +10 -2
  30. package/es/Node.mjs +53 -54
  31. package/es/Node.mjs.map +1 -1
  32. package/es/account/Base.d.ts +39 -3
  33. package/es/account/Base.mjs +35 -1
  34. package/es/account/Base.mjs.map +1 -1
  35. package/es/account/Generalized.d.ts +2 -0
  36. package/es/account/Generalized.mjs +15 -6
  37. package/es/account/Generalized.mjs.map +1 -1
  38. package/es/account/Ledger.d.ts +2 -0
  39. package/es/account/Ledger.mjs +14 -5
  40. package/es/account/Ledger.mjs.map +1 -1
  41. package/es/account/LedgerFactory.mjs +4 -6
  42. package/es/account/LedgerFactory.mjs.map +1 -1
  43. package/es/account/Memory.d.ts +15 -4
  44. package/es/account/Memory.mjs +96 -31
  45. package/es/account/Memory.mjs.map +1 -1
  46. package/es/account/Rpc.d.ts +16 -5
  47. package/es/account/Rpc.mjs +94 -21
  48. package/es/account/Rpc.mjs.map +1 -1
  49. package/es/aens.d.ts +17 -44
  50. package/es/aens.mjs +32 -71
  51. package/es/aens.mjs.map +1 -1
  52. package/es/aepp-wallet-communication/connection/Browser.mjs +3 -4
  53. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  54. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
  55. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +7 -5
  56. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  57. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +8 -9
  58. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  59. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +7 -7
  60. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  61. package/es/aepp-wallet-communication/rpc/types.d.ts +14 -0
  62. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  63. package/es/aepp-wallet-communication/schema.d.ts +2 -0
  64. package/es/aepp-wallet-communication/schema.mjs +2 -0
  65. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  66. package/es/aepp-wallet-communication/wallet-detector.mjs +4 -5
  67. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  68. package/es/apis/compiler/compiler.mjs.map +1 -1
  69. package/es/apis/compiler/models/index.d.ts +1 -0
  70. package/es/apis/compiler/models/index.mjs.map +1 -1
  71. package/es/apis/compiler/models/mappers.mjs +13 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  73. package/es/apis/compiler/models/parameters.mjs.map +1 -1
  74. package/es/apis/middleware/middleware.d.ts +23 -5
  75. package/es/apis/middleware/middleware.mjs +114 -18
  76. package/es/apis/middleware/middleware.mjs.map +1 -1
  77. package/es/apis/middleware/models/index.d.ts +164 -15
  78. package/es/apis/middleware/models/index.mjs +53 -3
  79. package/es/apis/middleware/models/index.mjs.map +1 -1
  80. package/es/apis/middleware/models/mappers.d.ts +8 -1
  81. package/es/apis/middleware/models/mappers.mjs +376 -3
  82. package/es/apis/middleware/models/mappers.mjs.map +1 -1
  83. package/es/apis/middleware/models/parameters.d.ts +6 -3
  84. package/es/apis/middleware/models/parameters.mjs +38 -11
  85. package/es/apis/middleware/models/parameters.mjs.map +1 -1
  86. package/es/apis/node/models/index.d.ts +66 -2
  87. package/es/apis/node/models/index.mjs.map +1 -1
  88. package/es/apis/node/models/mappers.d.ts +5 -1
  89. package/es/apis/node/models/mappers.mjs +229 -7
  90. package/es/apis/node/models/mappers.mjs.map +1 -1
  91. package/es/apis/node/models/parameters.d.ts +2 -2
  92. package/es/apis/node/models/parameters.mjs +2 -2
  93. package/es/apis/node/models/parameters.mjs.map +1 -1
  94. package/es/apis/node/node.d.ts +24 -3
  95. package/es/apis/node/node.mjs +135 -3
  96. package/es/apis/node/node.mjs.map +1 -1
  97. package/es/chain.d.ts +14 -44
  98. package/es/chain.mjs +125 -219
  99. package/es/chain.mjs.map +1 -1
  100. package/es/channel/Base.d.ts +3 -47
  101. package/es/channel/Base.mjs +21 -54
  102. package/es/channel/Base.mjs.map +1 -1
  103. package/es/channel/Contract.d.ts +16 -25
  104. package/es/channel/Contract.mjs +39 -63
  105. package/es/channel/Contract.mjs.map +1 -1
  106. package/es/channel/Spend.d.ts +0 -8
  107. package/es/channel/Spend.mjs +17 -29
  108. package/es/channel/Spend.mjs.map +1 -1
  109. package/es/channel/handlers.mjs +1 -1
  110. package/es/channel/handlers.mjs.map +1 -1
  111. package/es/channel/internal.d.ts +104 -5
  112. package/es/channel/internal.mjs +26 -34
  113. package/es/channel/internal.mjs.map +1 -1
  114. package/es/contract/Contract.d.ts +9 -1
  115. package/es/contract/Contract.mjs +67 -73
  116. package/es/contract/Contract.mjs.map +1 -1
  117. package/es/contract/compiler/Base.d.ts +14 -8
  118. package/es/contract/compiler/Base.mjs.map +1 -1
  119. package/es/contract/compiler/Cli.d.ts +5 -9
  120. package/es/contract/compiler/Cli.mjs +45 -23
  121. package/es/contract/compiler/Cli.mjs.map +1 -1
  122. package/es/contract/compiler/Cli8.d.ts +13 -0
  123. package/es/contract/compiler/Cli8.mjs +22 -0
  124. package/es/contract/compiler/Cli8.mjs.map +1 -0
  125. package/es/contract/compiler/Http.d.ts +3 -9
  126. package/es/contract/compiler/Http.mjs +28 -16
  127. package/es/contract/compiler/Http.mjs.map +1 -1
  128. package/es/contract/compiler/HttpNode.d.ts +2 -5
  129. package/es/contract/compiler/HttpNode.mjs.map +1 -1
  130. package/es/contract/delegation-signature.d.ts +2 -1
  131. package/es/contract/delegation-signature.mjs +18 -14
  132. package/es/contract/delegation-signature.mjs.map +1 -1
  133. package/es/contract/ga.d.ts +1 -2
  134. package/es/contract/ga.mjs +23 -25
  135. package/es/contract/ga.mjs.map +1 -1
  136. package/es/deprecated.d.ts +38 -0
  137. package/es/deprecated.mjs +45 -0
  138. package/es/deprecated.mjs.map +1 -1
  139. package/es/index-browser.d.ts +10 -5
  140. package/es/index-browser.mjs +9 -5
  141. package/es/index-browser.mjs.map +1 -1
  142. package/es/index.d.ts +1 -0
  143. package/es/index.mjs +1 -0
  144. package/es/index.mjs.map +1 -1
  145. package/es/oracle.d.ts +6 -37
  146. package/es/oracle.mjs +32 -66
  147. package/es/oracle.mjs.map +1 -1
  148. package/es/send-transaction.d.ts +53 -0
  149. package/es/send-transaction.mjs +109 -0
  150. package/es/send-transaction.mjs.map +1 -0
  151. package/es/spend.d.ts +4 -3
  152. package/es/spend.mjs +6 -1
  153. package/es/spend.mjs.map +1 -1
  154. package/es/tx/builder/common.d.ts +29 -0
  155. package/es/tx/builder/common.mjs +42 -0
  156. package/es/tx/builder/common.mjs.map +1 -0
  157. package/es/tx/builder/constants.d.ts +4 -4
  158. package/es/tx/builder/constants.mjs +6 -15
  159. package/es/tx/builder/constants.mjs.map +1 -1
  160. package/es/tx/builder/delegation/index.d.ts +20 -0
  161. package/es/tx/builder/delegation/index.mjs +24 -0
  162. package/es/tx/builder/delegation/index.mjs.map +1 -0
  163. package/es/tx/builder/delegation/schema.d.ts +130 -0
  164. package/es/tx/builder/delegation/schema.generated.d.ts +141 -0
  165. package/es/tx/builder/delegation/schema.generated.mjs +2 -0
  166. package/es/tx/builder/delegation/schema.generated.mjs.map +1 -0
  167. package/es/tx/builder/delegation/schema.mjs +54 -0
  168. package/es/tx/builder/delegation/schema.mjs.map +1 -0
  169. package/es/tx/builder/field-types/abi-version.mjs +8 -11
  170. package/es/tx/builder/field-types/abi-version.mjs.map +1 -1
  171. package/es/tx/builder/field-types/address.mjs +1 -4
  172. package/es/tx/builder/field-types/address.mjs.map +1 -1
  173. package/es/tx/builder/field-types/coin-amount.d.ts +2 -2
  174. package/es/tx/builder/field-types/coin-amount.mjs +6 -6
  175. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  176. package/es/tx/builder/field-types/ct-version.mjs +3 -4
  177. package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
  178. package/es/tx/builder/field-types/entry.mjs +7 -13
  179. package/es/tx/builder/field-types/entry.mjs.map +1 -1
  180. package/es/tx/builder/field-types/fee.d.ts +19 -11
  181. package/es/tx/builder/field-types/fee.mjs +56 -38
  182. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  183. package/es/tx/builder/field-types/gas-limit.mjs +13 -15
  184. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  185. package/es/tx/builder/field-types/gas-price.d.ts +10 -2
  186. package/es/tx/builder/field-types/gas-price.mjs +52 -3
  187. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  188. package/es/tx/builder/field-types/index.d.ts +31 -29
  189. package/es/tx/builder/field-types/index.mjs +31 -29
  190. package/es/tx/builder/field-types/index.mjs.map +1 -1
  191. package/es/tx/builder/field-types/map.mjs +20 -31
  192. package/es/tx/builder/field-types/map.mjs.map +1 -1
  193. package/es/tx/builder/field-types/mptree.mjs +14 -29
  194. package/es/tx/builder/field-types/mptree.mjs.map +1 -1
  195. package/es/tx/builder/field-types/name-fee.d.ts +1 -1
  196. package/es/tx/builder/field-types/name-fee.mjs +1 -1
  197. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  198. package/es/tx/builder/field-types/nonce.d.ts +1 -0
  199. package/es/tx/builder/field-types/nonce.mjs +2 -0
  200. package/es/tx/builder/field-types/nonce.mjs.map +1 -1
  201. package/es/tx/builder/field-types/pointers.mjs +4 -7
  202. package/es/tx/builder/field-types/pointers.mjs.map +1 -1
  203. package/es/tx/builder/field-types/pointers2.d.ts +23 -0
  204. package/es/tx/builder/field-types/pointers2.mjs +65 -0
  205. package/es/tx/builder/field-types/pointers2.mjs.map +1 -0
  206. package/es/tx/builder/field-types/query-fee.d.ts +19 -0
  207. package/es/tx/builder/field-types/query-fee.mjs +20 -0
  208. package/es/tx/builder/field-types/query-fee.mjs.map +1 -0
  209. package/es/tx/builder/field-types/ttl.d.ts +9 -1
  210. package/es/tx/builder/field-types/ttl.mjs +19 -8
  211. package/es/tx/builder/field-types/ttl.mjs.map +1 -1
  212. package/es/tx/builder/field-types/with-default.d.ts +7 -0
  213. package/es/tx/builder/field-types/with-default.mjs +9 -0
  214. package/es/tx/builder/field-types/with-default.mjs.map +1 -0
  215. package/es/tx/builder/field-types/with-formatting.d.ts +7 -0
  216. package/es/tx/builder/field-types/with-formatting.mjs +9 -0
  217. package/es/tx/builder/field-types/with-formatting.mjs.map +1 -0
  218. package/es/tx/builder/field-types/wrapped.mjs +6 -8
  219. package/es/tx/builder/field-types/wrapped.mjs.map +1 -1
  220. package/es/tx/builder/helpers.d.ts +2 -2
  221. package/es/tx/builder/helpers.mjs +12 -21
  222. package/es/tx/builder/helpers.mjs.map +1 -1
  223. package/es/tx/builder/index.d.ts +17 -10
  224. package/es/tx/builder/index.mjs +39 -65
  225. package/es/tx/builder/index.mjs.map +1 -1
  226. package/es/tx/builder/schema.d.ts +478 -257
  227. package/es/tx/builder/schema.generated.d.ts +39 -3
  228. package/es/tx/builder/schema.generated.mjs.map +1 -1
  229. package/es/tx/builder/schema.mjs +48 -36
  230. package/es/tx/builder/schema.mjs.map +1 -1
  231. package/es/tx/execution-cost.d.ts +6 -5
  232. package/es/tx/execution-cost.mjs +16 -17
  233. package/es/tx/execution-cost.mjs.map +1 -1
  234. package/es/tx/transaction-signer.mjs +1 -4
  235. package/es/tx/transaction-signer.mjs.map +1 -1
  236. package/es/tx/validator.mjs +61 -42
  237. package/es/tx/validator.mjs.map +1 -1
  238. package/es/utils/amount-formatter.mjs +15 -22
  239. package/es/utils/amount-formatter.mjs.map +1 -1
  240. package/es/utils/autorest.d.ts +2 -3
  241. package/es/utils/autorest.mjs +40 -24
  242. package/es/utils/autorest.mjs.map +1 -1
  243. package/es/utils/bytes.mjs +1 -2
  244. package/es/utils/bytes.mjs.map +1 -1
  245. package/es/utils/crypto.d.ts +8 -4
  246. package/es/utils/crypto.mjs +17 -13
  247. package/es/utils/crypto.mjs.map +1 -1
  248. package/es/utils/errors.d.ts +6 -0
  249. package/es/utils/errors.mjs +12 -6
  250. package/es/utils/errors.mjs.map +1 -1
  251. package/es/utils/hd-wallet.d.ts +2 -0
  252. package/es/utils/hd-wallet.mjs +6 -5
  253. package/es/utils/hd-wallet.mjs.map +1 -1
  254. package/es/utils/json-big.mjs +2 -10
  255. package/es/utils/json-big.mjs.map +1 -1
  256. package/es/utils/jwt.d.ts +53 -0
  257. package/es/utils/jwt.mjs +120 -0
  258. package/es/utils/jwt.mjs.map +1 -0
  259. package/es/utils/keystore.d.ts +6 -2
  260. package/es/utils/keystore.mjs +8 -16
  261. package/es/utils/keystore.mjs.map +1 -1
  262. package/es/utils/typed-data.mjs +1 -0
  263. package/es/utils/typed-data.mjs.map +1 -1
  264. package/es/utils/wrap-proxy.d.ts +2 -0
  265. package/es/utils/wrap-proxy.mjs +15 -0
  266. package/es/utils/wrap-proxy.mjs.map +1 -0
  267. package/package.json +57 -51
  268. package/src/AeSdk.ts +3 -0
  269. package/src/AeSdkAepp.ts +0 -1
  270. package/src/AeSdkBase.ts +97 -10
  271. package/src/AeSdkMethods.ts +37 -33
  272. package/src/AeSdkWallet.ts +22 -3
  273. package/src/Middleware.ts +16 -8
  274. package/src/MiddlewareSubscriber.ts +1 -1
  275. package/src/Node.ts +37 -18
  276. package/src/account/Base.ts +62 -3
  277. package/src/account/Generalized.ts +10 -0
  278. package/src/account/Ledger.ts +10 -0
  279. package/src/account/Memory.ts +83 -9
  280. package/src/account/Rpc.ts +69 -6
  281. package/src/aens.ts +35 -56
  282. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +3 -0
  283. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +2 -2
  284. package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -2
  285. package/src/aepp-wallet-communication/rpc/types.ts +13 -0
  286. package/src/aepp-wallet-communication/schema.ts +2 -0
  287. package/src/apis/compiler/compiler.ts +93 -93
  288. package/src/apis/compiler/models/index.ts +1 -0
  289. package/src/apis/compiler/models/mappers.ts +178 -165
  290. package/src/apis/compiler/models/parameters.ts +18 -18
  291. package/src/apis/middleware/middleware.ts +462 -341
  292. package/src/apis/middleware/models/index.ts +258 -56
  293. package/src/apis/middleware/models/mappers.ts +2357 -1919
  294. package/src/apis/middleware/models/parameters.ts +172 -142
  295. package/src/apis/node/models/index.ts +79 -2
  296. package/src/apis/node/models/mappers.ts +1529 -1302
  297. package/src/apis/node/models/parameters.ts +51 -51
  298. package/src/apis/node/node.ts +420 -275
  299. package/src/chain.ts +42 -128
  300. package/src/channel/Base.ts +14 -47
  301. package/src/channel/Contract.ts +18 -26
  302. package/src/channel/Spend.ts +0 -8
  303. package/src/channel/internal.ts +115 -13
  304. package/src/contract/Contract.ts +26 -8
  305. package/src/contract/compiler/Base.ts +15 -8
  306. package/src/contract/compiler/Cli.ts +37 -21
  307. package/src/contract/compiler/Cli8.ts +17 -0
  308. package/src/contract/compiler/Http.ts +24 -14
  309. package/src/contract/compiler/HttpNode.ts +2 -2
  310. package/src/contract/delegation-signature.ts +11 -5
  311. package/src/contract/ga.ts +4 -3
  312. package/src/deprecated.ts +36 -0
  313. package/src/index-browser.ts +14 -7
  314. package/src/index.ts +1 -0
  315. package/src/oracle.ts +11 -54
  316. package/src/send-transaction.ts +136 -0
  317. package/src/spend.ts +25 -11
  318. package/src/tx/builder/common.ts +74 -0
  319. package/src/tx/builder/constants.ts +6 -9
  320. package/src/tx/builder/delegation/index.ts +28 -0
  321. package/src/tx/builder/delegation/schema.generated.ts +143 -0
  322. package/src/tx/builder/delegation/schema.ts +61 -0
  323. package/src/tx/builder/field-types/coin-amount.ts +3 -2
  324. package/src/tx/builder/field-types/entry.ts +1 -4
  325. package/src/tx/builder/field-types/fee.ts +71 -43
  326. package/src/tx/builder/field-types/gas-limit.ts +4 -4
  327. package/src/tx/builder/field-types/gas-price.ts +70 -14
  328. package/src/tx/builder/field-types/index.ts +31 -59
  329. package/src/tx/builder/field-types/name-fee.ts +1 -1
  330. package/src/tx/builder/field-types/nonce.ts +7 -1
  331. package/src/tx/builder/field-types/pointers2.ts +62 -0
  332. package/src/tx/builder/field-types/query-fee.ts +25 -0
  333. package/src/tx/builder/field-types/ttl.ts +13 -3
  334. package/src/tx/builder/field-types/with-default.ts +18 -0
  335. package/src/tx/builder/field-types/with-formatting.ts +18 -0
  336. package/src/tx/builder/helpers.ts +2 -2
  337. package/src/tx/builder/index.ts +42 -59
  338. package/src/tx/builder/schema.generated.ts +39 -3
  339. package/src/tx/builder/schema.ts +55 -29
  340. package/src/tx/execution-cost.ts +6 -5
  341. package/src/tx/validator.ts +31 -5
  342. package/src/utils/autorest.ts +36 -27
  343. package/src/utils/crypto.ts +23 -13
  344. package/src/utils/errors.ts +10 -0
  345. package/src/utils/hd-wallet.ts +2 -0
  346. package/src/utils/jwt.ts +126 -0
  347. package/src/utils/keystore.ts +6 -2
  348. package/src/utils/wrap-proxy.ts +24 -0
  349. package/types-legacy/ts4.2/AeSdk.d.ts +3 -0
  350. package/types-legacy/ts4.2/AeSdkAepp.d.ts +0 -1
  351. package/types-legacy/ts4.2/AeSdkBase.d.ts +61 -6
  352. package/types-legacy/ts4.2/AeSdkMethods.d.ts +19 -7
  353. package/types-legacy/ts4.2/Node.d.ts +14 -1
  354. package/types-legacy/ts4.2/account/Base.d.ts +39 -3
  355. package/types-legacy/ts4.2/account/Generalized.d.ts +2 -0
  356. package/types-legacy/ts4.2/account/Ledger.d.ts +2 -0
  357. package/types-legacy/ts4.2/account/Memory.d.ts +15 -4
  358. package/types-legacy/ts4.2/account/Rpc.d.ts +16 -5
  359. package/types-legacy/ts4.2/aens.d.ts +17 -44
  360. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
  361. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +14 -0
  362. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +2 -0
  363. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +1 -0
  364. package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +23 -5
  365. package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +164 -15
  366. package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +8 -1
  367. package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +6 -3
  368. package/types-legacy/ts4.2/apis/node/models/index.d.ts +66 -2
  369. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +5 -1
  370. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +2 -2
  371. package/types-legacy/ts4.2/apis/node/node.d.ts +24 -3
  372. package/types-legacy/ts4.2/chain.d.ts +14 -44
  373. package/types-legacy/ts4.2/channel/Base.d.ts +3 -47
  374. package/types-legacy/ts4.2/channel/Contract.d.ts +16 -25
  375. package/types-legacy/ts4.2/channel/Spend.d.ts +0 -8
  376. package/types-legacy/ts4.2/channel/internal.d.ts +104 -5
  377. package/types-legacy/ts4.2/contract/Contract.d.ts +9 -1
  378. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +14 -8
  379. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +5 -9
  380. package/types-legacy/ts4.2/contract/compiler/Cli8.d.ts +13 -0
  381. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +3 -9
  382. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +2 -5
  383. package/types-legacy/ts4.2/contract/delegation-signature.d.ts +2 -1
  384. package/types-legacy/ts4.2/contract/ga.d.ts +1 -2
  385. package/types-legacy/ts4.2/deprecated.d.ts +38 -0
  386. package/types-legacy/ts4.2/index-browser.d.ts +10 -5
  387. package/types-legacy/ts4.2/index.d.ts +1 -0
  388. package/types-legacy/ts4.2/oracle.d.ts +6 -37
  389. package/types-legacy/ts4.2/send-transaction.d.ts +53 -0
  390. package/types-legacy/ts4.2/spend.d.ts +4 -3
  391. package/types-legacy/ts4.2/tx/builder/common.d.ts +32 -0
  392. package/types-legacy/ts4.2/tx/builder/constants.d.ts +4 -4
  393. package/types-legacy/ts4.2/tx/builder/delegation/index.d.ts +20 -0
  394. package/types-legacy/ts4.2/tx/builder/delegation/schema.d.ts +136 -0
  395. package/types-legacy/ts4.2/tx/builder/delegation/schema.generated.d.ts +141 -0
  396. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +2 -2
  397. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +19 -11
  398. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +10 -2
  399. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +31 -29
  400. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +1 -1
  401. package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +1 -0
  402. package/types-legacy/ts4.2/tx/builder/field-types/pointers2.d.ts +26 -0
  403. package/types-legacy/ts4.2/tx/builder/field-types/query-fee.d.ts +19 -0
  404. package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +9 -1
  405. package/types-legacy/ts4.2/tx/builder/field-types/with-default.d.ts +7 -0
  406. package/types-legacy/ts4.2/tx/builder/field-types/with-formatting.d.ts +7 -0
  407. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +2 -2
  408. package/types-legacy/ts4.2/tx/builder/index.d.ts +17 -10
  409. package/types-legacy/ts4.2/tx/builder/schema.d.ts +482 -257
  410. package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +39 -3
  411. package/types-legacy/ts4.2/tx/execution-cost.d.ts +6 -5
  412. package/types-legacy/ts4.2/utils/autorest.d.ts +2 -3
  413. package/types-legacy/ts4.2/utils/crypto.d.ts +8 -4
  414. package/types-legacy/ts4.2/utils/errors.d.ts +6 -0
  415. package/types-legacy/ts4.2/utils/hd-wallet.d.ts +2 -0
  416. package/types-legacy/ts4.2/utils/jwt.d.ts +53 -0
  417. package/types-legacy/ts4.2/utils/keystore.d.ts +6 -2
  418. package/types-legacy/ts4.2/utils/wrap-proxy.d.ts +2 -0
  419. package/types-legacy/ts4.5/AeSdk.d.ts +3 -0
  420. package/types-legacy/ts4.5/AeSdkAepp.d.ts +0 -1
  421. package/types-legacy/ts4.5/AeSdkBase.d.ts +61 -6
  422. package/types-legacy/ts4.5/AeSdkMethods.d.ts +19 -7
  423. package/types-legacy/ts4.5/Node.d.ts +14 -1
  424. package/types-legacy/ts4.5/account/Base.d.ts +39 -3
  425. package/types-legacy/ts4.5/account/Generalized.d.ts +2 -0
  426. package/types-legacy/ts4.5/account/Ledger.d.ts +2 -0
  427. package/types-legacy/ts4.5/account/Memory.d.ts +15 -4
  428. package/types-legacy/ts4.5/account/Rpc.d.ts +16 -5
  429. package/types-legacy/ts4.5/aens.d.ts +17 -44
  430. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
  431. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +14 -0
  432. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +2 -0
  433. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +1 -0
  434. package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +23 -5
  435. package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +164 -15
  436. package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +8 -1
  437. package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +6 -3
  438. package/types-legacy/ts4.5/apis/node/models/index.d.ts +66 -2
  439. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +5 -1
  440. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +2 -2
  441. package/types-legacy/ts4.5/apis/node/node.d.ts +24 -3
  442. package/types-legacy/ts4.5/chain.d.ts +14 -44
  443. package/types-legacy/ts4.5/channel/Base.d.ts +3 -47
  444. package/types-legacy/ts4.5/channel/Contract.d.ts +16 -25
  445. package/types-legacy/ts4.5/channel/Spend.d.ts +0 -8
  446. package/types-legacy/ts4.5/channel/internal.d.ts +104 -5
  447. package/types-legacy/ts4.5/contract/Contract.d.ts +9 -1
  448. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +14 -8
  449. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +5 -9
  450. package/types-legacy/ts4.5/contract/compiler/Cli8.d.ts +13 -0
  451. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +3 -9
  452. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +2 -5
  453. package/types-legacy/ts4.5/contract/delegation-signature.d.ts +2 -1
  454. package/types-legacy/ts4.5/contract/ga.d.ts +1 -2
  455. package/types-legacy/ts4.5/deprecated.d.ts +38 -0
  456. package/types-legacy/ts4.5/index-browser.d.ts +10 -5
  457. package/types-legacy/ts4.5/index.d.ts +1 -0
  458. package/types-legacy/ts4.5/oracle.d.ts +6 -37
  459. package/types-legacy/ts4.5/send-transaction.d.ts +53 -0
  460. package/types-legacy/ts4.5/spend.d.ts +4 -3
  461. package/types-legacy/ts4.5/tx/builder/common.d.ts +32 -0
  462. package/types-legacy/ts4.5/tx/builder/constants.d.ts +4 -4
  463. package/types-legacy/ts4.5/tx/builder/delegation/index.d.ts +20 -0
  464. package/types-legacy/ts4.5/tx/builder/delegation/schema.d.ts +136 -0
  465. package/types-legacy/ts4.5/tx/builder/delegation/schema.generated.d.ts +141 -0
  466. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +2 -2
  467. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +19 -11
  468. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +10 -2
  469. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +31 -29
  470. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +1 -1
  471. package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +1 -0
  472. package/types-legacy/ts4.5/tx/builder/field-types/pointers2.d.ts +26 -0
  473. package/types-legacy/ts4.5/tx/builder/field-types/query-fee.d.ts +19 -0
  474. package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +9 -1
  475. package/types-legacy/ts4.5/tx/builder/field-types/with-default.d.ts +7 -0
  476. package/types-legacy/ts4.5/tx/builder/field-types/with-formatting.d.ts +7 -0
  477. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +2 -2
  478. package/types-legacy/ts4.5/tx/builder/index.d.ts +17 -10
  479. package/types-legacy/ts4.5/tx/builder/schema.d.ts +482 -257
  480. package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +39 -3
  481. package/types-legacy/ts4.5/tx/execution-cost.d.ts +6 -5
  482. package/types-legacy/ts4.5/utils/autorest.d.ts +2 -3
  483. package/types-legacy/ts4.5/utils/crypto.d.ts +8 -4
  484. package/types-legacy/ts4.5/utils/errors.d.ts +6 -0
  485. package/types-legacy/ts4.5/utils/hd-wallet.d.ts +2 -0
  486. package/types-legacy/ts4.5/utils/jwt.d.ts +53 -0
  487. package/types-legacy/ts4.5/utils/keystore.d.ts +6 -2
  488. package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +2 -0
  489. package/es/tx/builder/field-types/deposit.d.ts +0 -15
  490. package/es/tx/builder/field-types/deposit.mjs +0 -18
  491. package/es/tx/builder/field-types/deposit.mjs.map +0 -1
  492. package/src/tx/builder/field-types/deposit.ts +0 -23
  493. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +0 -15
  494. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +0 -15
@@ -6,8 +6,9 @@
6
6
  */
7
7
 
8
8
  import { Encoder as Calldata } from '@aeternity/aepp-calldata';
9
- import { DRY_RUN_ACCOUNT } from '../tx/builder/schema';
10
- import { Tag, AensName } from '../tx/builder/constants';
9
+ import {
10
+ Tag, AensName, ConsensusProtocolVersion, DRY_RUN_ACCOUNT,
11
+ } from '../tx/builder/constants';
11
12
  import {
12
13
  buildContractIdByContractTx, unpackTx, buildTxAsync, BuildTxOptions, buildTxHash,
13
14
  } from '../tx/builder';
@@ -39,12 +40,13 @@ import {
39
40
  import CompilerBase, { Aci } from './compiler/Base';
40
41
  import Node, { TransformNodeType } from '../Node';
41
42
  import {
42
- getAccount, getContract, getContractByteCode, resolveName, txDryRun, sendTransaction,
43
- SendTransactionOptions,
43
+ getAccount, getContract, getContractByteCode, resolveName, txDryRun,
44
44
  } from '../chain';
45
+ import { sendTransaction, SendTransactionOptions } from '../send-transaction';
45
46
  import AccountBase from '../account/Base';
46
47
  import { TxUnpacked } from '../tx/builder/schema.generated';
47
48
  import { isAccountNotFoundError } from '../utils/other';
49
+ import { isNameValid, produceNameId } from '../tx/builder/helpers';
48
50
 
49
51
  type ContractAci = NonNullable<Aci[0]['contract']>;
50
52
  type FunctionAci = ContractAci['functions'][0];
@@ -246,6 +248,7 @@ class Contract<M extends ContractMethodsBase> {
246
248
  const ownerId = opt.onAccount.address;
247
249
  if (this.$options.bytecode == null) throw new IllegalArgumentError('Can\'t deploy without bytecode');
248
250
  const tx = await buildTxAsync({
251
+ _isInternalBuild: true,
249
252
  ...opt,
250
253
  tag: Tag.ContractCreateTx,
251
254
  gasLimit: opt.gasLimit ?? await this._estimateGas('init', params, opt),
@@ -258,7 +261,7 @@ class Contract<M extends ContractMethodsBase> {
258
261
  'init',
259
262
  { ...opt, onAccount: opt.onAccount },
260
263
  );
261
- this.$options.address = buildContractIdByContractTx(tx);
264
+ this.$options.address = buildContractIdByContractTx(other.rawTx);
262
265
  return {
263
266
  ...other,
264
267
  ...other.result?.log != null && {
@@ -287,7 +290,7 @@ class Contract<M extends ContractMethodsBase> {
287
290
  arguments: [], name: 'init', payable: false, returns: 'unit', stateful: true,
288
291
  };
289
292
  }
290
- throw new NoSuchContractFunctionError(`Function ${name} doesn't exist in contract`);
293
+ throw new NoSuchContractFunctionError(name);
291
294
  }
292
295
 
293
296
  /**
@@ -308,7 +311,9 @@ class Contract<M extends ContractMethodsBase> {
308
311
  ): Promise<SendAndProcessReturnType & Partial<GetCallResultByHashReturnType<M, Fn>>> {
309
312
  const { callStatic, top, ...opt } = { ...this.$options, ...options };
310
313
  const fnAci = this.#getFunctionAci(fn);
311
- const contractId = this.$options.address;
314
+ const { address, name } = this.$options;
315
+ // TODO: call `produceNameId` on buildTx side
316
+ const contractId = name != null ? produceNameId(name) : address;
312
317
  const { onNode } = opt;
313
318
 
314
319
  if (fn == null) throw new MissingFunctionNameError();
@@ -375,6 +380,7 @@ class Contract<M extends ContractMethodsBase> {
375
380
  if (top != null) throw new IllegalArgumentError('Can\'t handle `top` option in on-chain contract call');
376
381
  if (contractId == null) throw new MissingContractAddressError('Can\'t call contract without address');
377
382
  const tx = await buildTxAsync({
383
+ _isInternalBuild: true,
378
384
  ...opt,
379
385
  tag: Tag.ContractCallTx,
380
386
  gasLimit: opt.gasLimit ?? await this._estimateGas(fn, params, opt),
@@ -485,12 +491,16 @@ class Contract<M extends ContractMethodsBase> {
485
491
  }
486
492
  if (aci == null) throw new MissingContractDefError();
487
493
 
494
+ let name;
488
495
  if (address != null) {
489
496
  address = await resolveName(
490
497
  address,
491
498
  'contract_pubkey',
492
499
  { resolveByNode: true, onNode },
493
500
  ) as Encoded.ContractAddress;
501
+ const isIris = (await onNode.getNodeInfo())
502
+ .consensusProtocolVersion === ConsensusProtocolVersion.Iris;
503
+ if (!isIris && isNameValid(address)) name = address;
494
504
  }
495
505
 
496
506
  if (address == null && sourceCode == null && sourceCodePath == null && bytecode == null) {
@@ -527,6 +537,7 @@ class Contract<M extends ContractMethodsBase> {
527
537
  bytecode,
528
538
  aci,
529
539
  address,
540
+ name,
530
541
  fileSystem,
531
542
  ...otherOptions,
532
543
  });
@@ -534,7 +545,7 @@ class Contract<M extends ContractMethodsBase> {
534
545
 
535
546
  _aci: Aci;
536
547
 
537
- #aciContract: ContractAci;
548
+ readonly #aciContract: ContractAci;
538
549
 
539
550
  _name: string;
540
551
 
@@ -542,12 +553,19 @@ class Contract<M extends ContractMethodsBase> {
542
553
 
543
554
  $options: Omit<ConstructorParameters<typeof Contract>[0], 'aci'>;
544
555
 
556
+ /**
557
+ * @param options - Options
558
+ */
545
559
  constructor({ aci, ...otherOptions }: {
546
560
  onCompiler?: CompilerBase;
547
561
  onNode: Node;
548
562
  bytecode?: Encoded.ContractBytearray;
549
563
  aci: Aci;
550
564
  address?: Encoded.ContractAddress;
565
+ /**
566
+ * Supported only in Ceres
567
+ */
568
+ name?: AensName;
551
569
  sourceCodePath?: Parameters<CompilerBase['compile']>[0];
552
570
  sourceCode?: Parameters<CompilerBase['compileBySourceCode']>[0];
553
571
  fileSystem?: Parameters<CompilerBase['compileBySourceCode']>[1];
@@ -19,6 +19,19 @@ export type Aci = Array<{
19
19
  };
20
20
  }>;
21
21
 
22
+ export type CompileResult = Promise<{
23
+ bytecode: Encoded.ContractBytearray;
24
+ aci: Aci;
25
+ warnings: Array<{
26
+ message: string;
27
+ pos: {
28
+ file?: string;
29
+ line: number;
30
+ col: number;
31
+ };
32
+ }>;
33
+ }>;
34
+
22
35
  /**
23
36
  * A base class for all compiler implementations
24
37
  */
@@ -29,10 +42,7 @@ export default abstract class CompilerBase {
29
42
  * @param path - Path to contract source code
30
43
  * @returns ACI and bytecode
31
44
  */
32
- abstract compile(path: string): Promise<{
33
- bytecode: Encoded.ContractBytearray;
34
- aci: Aci;
35
- }>;
45
+ abstract compile(path: string): CompileResult;
36
46
 
37
47
  /**
38
48
  * Compile contract by contract's source code
@@ -50,10 +60,7 @@ export default abstract class CompilerBase {
50
60
  abstract compileBySourceCode(
51
61
  sourceCode: string,
52
62
  fileSystem?: Record<string, string>,
53
- ): Promise<{
54
- bytecode: Encoded.ContractBytearray;
55
- aci: Aci;
56
- }>;
63
+ ): CompileResult;
57
64
 
58
65
  /**
59
66
  * Generate contract's ACI by contract's path
@@ -3,13 +3,13 @@ import { tmpdir } from 'os';
3
3
  import { resolve, dirname, basename } from 'path';
4
4
  import { mkdir, writeFile, rm } from 'fs/promises';
5
5
  import { fileURLToPath } from 'url';
6
- import CompilerBase, { Aci } from './Base';
6
+ import CompilerBase, { Aci, CompileResult } from './Base';
7
7
  import { Encoded } from '../../utils/encoder';
8
8
  import { CompilerError, InternalError, UnsupportedVersionError } from '../../utils/errors';
9
9
  import semverSatisfies from '../../utils/semver-satisfies';
10
10
  import { ensureError } from '../../utils/other';
11
11
 
12
- const getPackagePath = (): string => {
12
+ export const getPackagePath = (): string => {
13
13
  const path = dirname(fileURLToPath(import.meta.url));
14
14
  if (basename(path) === 'dist') return resolve(path, '..');
15
15
  if (basename(path) === 'compiler') return resolve(path, '../../..');
@@ -19,11 +19,12 @@ const getPackagePath = (): string => {
19
19
  /**
20
20
  * A wrapper around aesophia_cli, available only in Node.js.
21
21
  * Requires Erlang installed, assumes that `escript` is available in PATH.
22
+ * @category contract
22
23
  */
23
24
  export default class CompilerCli extends CompilerBase {
24
- #path: string;
25
+ readonly #path: string;
25
26
 
26
- #ensureCompatibleVersion = Promise.resolve();
27
+ readonly #ensureCompatibleVersion = Promise.resolve();
27
28
 
28
29
  /**
29
30
  * @param compilerPath - A path to aesophia_cli binary, by default uses the integrated one
@@ -38,22 +39,27 @@ export default class CompilerCli extends CompilerBase {
38
39
  this.#path = compilerPath;
39
40
  if (ignoreVersion !== true) {
40
41
  this.#ensureCompatibleVersion = this.version().then((version) => {
41
- const versions = [version, '7.2.1', '8.0.0'] as const;
42
+ const versions = [version, '7.2.1', '9.0.0'] as const;
42
43
  if (!semverSatisfies(...versions)) throw new UnsupportedVersionError('compiler', ...versions);
43
44
  });
44
45
  }
45
46
  }
46
47
 
47
- async #run(...parameters: string[]): Promise<string> {
48
+ async #runWithStderr(...parameters: string[]): Promise<{ stderr: string; stdout: string }> {
48
49
  return new Promise((pResolve, pReject) => {
49
50
  execFile('escript', [this.#path, ...parameters], (error, stdout, stderr) => {
50
51
  if (error != null) pReject(error);
51
- else if (stderr !== '') pReject(new CompilerError(stderr));
52
- else pResolve(stdout);
52
+ else pResolve({ stdout, stderr });
53
53
  });
54
54
  });
55
55
  }
56
56
 
57
+ async #run(...parameters: string[]): Promise<string> {
58
+ const { stderr, stdout } = await this.#runWithStderr(...parameters);
59
+ if (stderr !== '') throw new CompilerError(stderr);
60
+ return stdout;
61
+ }
62
+
57
63
  static async #saveContractToTmpDir(
58
64
  sourceCode: string,
59
65
  fileSystem: Record<string, string> = {},
@@ -72,19 +78,29 @@ export default class CompilerCli extends CompilerBase {
72
78
  return sourceCodePath;
73
79
  }
74
80
 
75
- async compile(path: string): Promise<{
76
- bytecode: Encoded.ContractBytearray;
77
- aci: Aci;
78
- }> {
81
+ async compile(path: string): CompileResult {
79
82
  await this.#ensureCompatibleVersion;
80
83
  try {
81
- const [bytecode, aci] = await Promise.all([
82
- this.#run(path),
83
- this.#run('--create_json_aci', path).then((res) => JSON.parse(res)),
84
+ const [compileRes, aci] = await Promise.all([
85
+ this.#runWithStderr(path),
86
+ this.generateAci(path),
84
87
  ]);
85
88
  return {
86
- bytecode: bytecode.trimEnd() as Encoded.ContractBytearray,
89
+ bytecode: compileRes.stdout.trimEnd() as Encoded.ContractBytearray,
87
90
  aci,
91
+ warnings: compileRes.stderr.split('Warning in ').slice(1).map((warning) => {
92
+ const reg = /^'(.+)' at line (\d+), col (\d+):\n(.+)$/s;
93
+ const match = warning.match(reg);
94
+ if (match == null) throw new InternalError(`Can't parse compiler output: "${warning}"`);
95
+ return {
96
+ message: match[4].trimEnd(),
97
+ pos: {
98
+ ...match[1] !== path && { file: match[1] },
99
+ line: +match[2],
100
+ col: +match[3],
101
+ },
102
+ };
103
+ }),
88
104
  };
89
105
  } catch (error) {
90
106
  ensureError(error);
@@ -92,10 +108,10 @@ export default class CompilerCli extends CompilerBase {
92
108
  }
93
109
  }
94
110
 
95
- async compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{
96
- bytecode: Encoded.ContractBytearray;
97
- aci: Aci;
98
- }> {
111
+ async compileBySourceCode(
112
+ sourceCode: string,
113
+ fileSystem?: Record<string, string>,
114
+ ): CompileResult {
99
115
  const tmp = await CompilerCli.#saveContractToTmpDir(sourceCode, fileSystem);
100
116
  try {
101
117
  return await this.compile(tmp);
@@ -150,7 +166,7 @@ export default class CompilerCli extends CompilerBase {
150
166
 
151
167
  async version(): Promise<string> {
152
168
  const verMessage = await this.#run('--version');
153
- const ver = verMessage.match(/Sophia compiler version ([\d.]+)\n/)?.[1];
169
+ const ver = verMessage.match(/Sophia compiler version ([\d.]+.*)\n/)?.[1];
154
170
  if (ver == null) throw new CompilerError('Can\'t get compiler version');
155
171
  return ver;
156
172
  }
@@ -0,0 +1,17 @@
1
+ import { resolve } from 'path';
2
+ import CompilerCli, { getPackagePath } from './Cli';
3
+
4
+ /**
5
+ * @category contract
6
+ */
7
+ export default class CompilerCli8 extends CompilerCli {
8
+ /**
9
+ * @param options - Options
10
+ * @param options.ignoreVersion - Don't ensure that the compiler is supported
11
+ */
12
+ constructor(
13
+ { ignoreVersion }: { ignoreVersion?: boolean } = {},
14
+ ) {
15
+ super(resolve(getPackagePath(), './bin/aesophia_cli_8'), { ignoreVersion });
16
+ }
17
+ }
@@ -1,11 +1,14 @@
1
- import { RestError } from '@azure/core-rest-pipeline';
1
+ import {
2
+ RestError, userAgentPolicyName, setClientRequestIdPolicyName,
3
+ } from '@azure/core-rest-pipeline';
4
+ import { OperationOptions } from '@azure/core-client';
2
5
  import {
3
6
  Compiler as CompilerApi,
4
7
  ErrorModel,
5
8
  CompilerError as CompilerErrorApi,
6
9
  } from '../../apis/compiler';
7
10
  import { genErrorFormatterPolicy, genVersionCheckPolicy } from '../../utils/autorest';
8
- import CompilerBase, { Aci } from './Base';
11
+ import CompilerBase, { Aci, CompileResult } from './Base';
9
12
  import { Encoded } from '../../utils/encoder';
10
13
  import { CompilerError, NotImplementedError } from '../../utils/errors';
11
14
 
@@ -29,11 +32,20 @@ export default class CompilerHttp extends CompilerBase {
29
32
  * @param options - Options
30
33
  * @param options.ignoreVersion - Don't check compiler version
31
34
  */
32
- constructor(compilerUrl: string, { ignoreVersion }: { ignoreVersion?: boolean } = {}) {
35
+ constructor(compilerUrl: string, { ignoreVersion = false }: { ignoreVersion?: boolean } = {}) {
33
36
  super();
37
+
38
+ let version: string | undefined;
39
+ const getVersion = async (opts: OperationOptions): Promise<string> => {
40
+ if (version != null) return version;
41
+ version = (await this.api.apiVersion(opts)).apiVersion;
42
+ return version;
43
+ };
44
+
34
45
  this.api = new CompilerApi(compilerUrl, {
35
46
  allowInsecureConnection: true,
36
47
  additionalPolicies: [
48
+ ...ignoreVersion ? [] : [genVersionCheckPolicy('compiler', getVersion, '7.3.0', '9.0.0')],
37
49
  genErrorFormatterPolicy((body: GeneralCompilerError | CompilerErrorApi[]) => {
38
50
  let message = '';
39
51
  if ('reason' in body) {
@@ -51,23 +63,21 @@ export default class CompilerHttp extends CompilerBase {
51
63
  }),
52
64
  ],
53
65
  });
54
- if (ignoreVersion !== true) {
55
- const versionPromise = this.api.apiVersion()
56
- .then(({ apiVersion }) => apiVersion, (error) => error);
57
- this.api.pipeline.addPolicy(
58
- genVersionCheckPolicy('compiler', '/api-version', versionPromise, '7.3.0', '8.0.0'),
59
- );
60
- }
66
+ this.api.pipeline.removePolicy({ name: userAgentPolicyName });
67
+ this.api.pipeline.removePolicy({ name: setClientRequestIdPolicyName });
61
68
  }
62
69
 
63
70
  async compileBySourceCode(
64
71
  sourceCode: string,
65
72
  fileSystem?: Record<string, string>,
66
- ): Promise<{ bytecode: Encoded.ContractBytearray; aci: Aci }> {
73
+ ): CompileResult {
67
74
  try {
68
- const res = await this.api.compileContract({ code: sourceCode, options: { fileSystem } });
75
+ const cmpOut = await this.api.compileContract({ code: sourceCode, options: { fileSystem } });
76
+ cmpOut.warnings ??= []; // TODO: remove after requiring http compiler above or equal to 8.0.0
77
+ const warnings = cmpOut.warnings.map(({ type, ...warning }) => warning);
78
+ const res = { ...cmpOut, warnings };
69
79
  // TODO: should be fixed when the compiledAci interface gets updated
70
- return res as { bytecode: Encoded.ContractBytearray; aci: Aci };
80
+ return res as Awaited<CompileResult>;
71
81
  } catch (error) {
72
82
  if (error instanceof RestError && error.statusCode === 400) {
73
83
  throw new CompilerError(error.message);
@@ -77,7 +87,7 @@ export default class CompilerHttp extends CompilerBase {
77
87
  }
78
88
 
79
89
  // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars
80
- async compile(path: string): Promise<{ bytecode: Encoded.ContractBytearray; aci: Aci }> {
90
+ async compile(path: string): CompileResult {
81
91
  throw new NotImplementedError('File system access, use CompilerHttpNode instead');
82
92
  }
83
93
 
@@ -1,6 +1,6 @@
1
1
  import { readFile } from 'fs/promises';
2
2
  import HttpBrowser from './Http';
3
- import { Aci } from './Base';
3
+ import { Aci, CompileResult } from './Base';
4
4
  import { Encoded } from '../../utils/encoder';
5
5
  import getFileSystem from './getFileSystem';
6
6
 
@@ -12,7 +12,7 @@ import getFileSystem from './getFileSystem';
12
12
  * @example CompilerHttpNode('COMPILER_URL')
13
13
  */
14
14
  export default class CompilerHttpNode extends HttpBrowser {
15
- override async compile(path: string): Promise<{ bytecode: Encoded.ContractBytearray; aci: Aci }> {
15
+ override async compile(path: string): CompileResult {
16
16
  const fileSystem = await getFileSystem(path);
17
17
  const sourceCode = await readFile(path, 'utf8');
18
18
  return this.compileBySourceCode(sourceCode, fileSystem);
@@ -47,19 +47,25 @@ function ensureOracleQuery(oq: string): asserts oq is Encoded.OracleQueryId {
47
47
  export default async function createDelegationSignature(
48
48
  contractAddress: Encoded.ContractAddress,
49
49
  ids: Array<Encoded.Any | AensName>,
50
- { onAccount, omitAddress, ...options }: {
50
+ {
51
+ onAccount, omitAddress, isOracle, ...options
52
+ }: {
51
53
  omitAddress?: boolean;
52
54
  onAccount: AccountBase;
55
+ isOracle?: boolean;
53
56
  onNode: Node;
54
57
  },
55
58
  ): Promise<Uint8Array> {
56
59
  if (ids.length > 1) throw new ArgumentError('ids', 'shorter than 2', ids);
57
- const networkId = await options.onNode.getNetworkId();
60
+ const { nodeNetworkId, consensusProtocolVersion } = await options.onNode.getNodeInfo();
61
+ const signOpts = { networkId: nodeNetworkId, consensusProtocolVersion };
58
62
  if (ids.length === 0) {
59
63
  if (omitAddress === true) {
60
64
  throw new ArgumentError('omitAddress', 'equal false', omitAddress);
61
65
  }
62
- return decode(await onAccount.signDelegationToContract(contractAddress, { networkId }));
66
+ return decode(
67
+ await onAccount.signDelegationToContract(contractAddress, { ...signOpts, isOracle }),
68
+ );
63
69
  }
64
70
 
65
71
  const [payload] = ids;
@@ -68,7 +74,7 @@ export default async function createDelegationSignature(
68
74
  throw new ArgumentError('omitAddress', 'equal false', omitAddress);
69
75
  }
70
76
  return decode(
71
- await onAccount.signNameDelegationToContract(contractAddress, payload, { networkId }),
77
+ await onAccount.signNameDelegationToContract(contractAddress, payload, signOpts),
72
78
  );
73
79
  }
74
80
 
@@ -77,6 +83,6 @@ export default async function createDelegationSignature(
77
83
  throw new ArgumentError('omitAddress', 'equal true', omitAddress);
78
84
  }
79
85
  return decode(
80
- await onAccount.signOracleQueryDelegationToContract(contractAddress, payload, { networkId }),
86
+ await onAccount.signOracleQueryDelegationToContract(contractAddress, payload, signOpts),
81
87
  );
82
88
  }
@@ -15,14 +15,14 @@ import { concatBuffers } from '../utils/other';
15
15
  import AccountBase from '../account/Base';
16
16
  import Contract from './Contract';
17
17
  import Node from '../Node';
18
- import { sendTransaction, SendTransactionOptions, getAccount } from '../chain';
18
+ import { getAccount } from '../chain';
19
+ import { sendTransaction, SendTransactionOptions } from '../send-transaction';
19
20
  import CompilerBase from './compiler/Base';
20
21
 
21
22
  /**
22
23
  * Convert current account to GA
23
24
  * @category contract
24
25
  * @param authFnName - Authorization function name
25
- * @param sourceCode - Auth contract source code
26
26
  * @param args - init arguments
27
27
  * @param options - Options
28
28
  * @returns General Account Object
@@ -49,6 +49,7 @@ export async function createGeneralizedAccount(
49
49
  });
50
50
 
51
51
  const tx = await buildTxAsync({
52
+ _isInternalBuild: true,
52
53
  ...options,
53
54
  tag: Tag.GaAttachTx,
54
55
  onNode,
@@ -58,10 +59,10 @@ export async function createGeneralizedAccount(
58
59
  callData: contract._calldata.encode(contract._name, 'init', args),
59
60
  authFun: hash(authFnName),
60
61
  });
61
- const contractId = buildContractIdByContractTx(tx);
62
62
  const { hash: transaction, rawTx } = await sendTransaction(tx, {
63
63
  onNode, onAccount, onCompiler, ...options,
64
64
  });
65
+ const contractId = buildContractIdByContractTx(rawTx);
65
66
 
66
67
  return Object.freeze({
67
68
  owner: ownerId,
package/src/deprecated.ts CHANGED
@@ -2,6 +2,7 @@ import { TypeResolver, ContractByteArrayEncoder } from '@aeternity/aepp-calldata
2
2
  import { AciValue } from './utils/typed-data';
3
3
  import { Encoded } from './utils/encoder';
4
4
  import { RpcError } from './aepp-wallet-communication/schema';
5
+ import { ORACLE_TTL_TYPES } from './tx/builder/schema';
5
6
 
6
7
  /**
7
8
  * @category exception
@@ -39,3 +40,38 @@ export function decodeFateValue(value: Encoded.ContractBytearray, aci: AciValue)
39
40
  const valueType = new TypeResolver().resolveType(aci, {});
40
41
  return new ContractByteArrayEncoder().decodeWithType(value, valueType);
41
42
  }
43
+
44
+ /**
45
+ * @deprecated inlined in buildTx or use `180000`
46
+ */
47
+ export const NAME_TTL = 180000;
48
+
49
+ /**
50
+ * @deprecated inlined in buildTx or use `36000`
51
+ */
52
+ export const NAME_MAX_TTL = 36000;
53
+
54
+ /**
55
+ * @deprecated inlined in buildTx or use `60 * 60`
56
+ */
57
+ export const NAME_MAX_CLIENT_TTL = 60 * 60;
58
+
59
+ /**
60
+ * @deprecated inlined in buildTx or use `60 * 60`
61
+ */
62
+ export const CLIENT_TTL = NAME_MAX_CLIENT_TTL;
63
+
64
+ /**
65
+ * @deprecated inlined in buildTx or use `{ type: ORACLE_TTL_TYPES.delta, value: 500 }`
66
+ */
67
+ export const ORACLE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 500 };
68
+
69
+ /**
70
+ * @deprecated inlined in buildTx or use `{ type: ORACLE_TTL_TYPES.delta, value: 10 }`
71
+ */
72
+ export const QUERY_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };
73
+
74
+ /**
75
+ * @deprecated inlined in buildTx or use `{ type: ORACLE_TTL_TYPES.delta, value: 10 }`
76
+ */
77
+ export const RESPONSE_TTL = { type: ORACLE_TTL_TYPES.delta, value: 10 };
@@ -1,14 +1,19 @@
1
1
  export {
2
- _getPollInterval, InvalidTxError, getHeight, poll, awaitHeight, waitForTxConfirm, sendTransaction,
2
+ _getPollInterval, getHeight, poll, awaitHeight, waitForTxConfirm,
3
3
  getAccount, getBalance, getCurrentGeneration, getGeneration, getMicroBlockTransactions,
4
4
  getKeyBlock, getMicroBlockHeader, txDryRun, getContractByteCode, getContract, getName,
5
5
  resolveName,
6
6
  } from './chain';
7
+ export { InvalidTxError, sendTransaction } from './send-transaction';
7
8
  export {
8
9
  getAddressFromPriv, isAddressValid, genSalt, encodeUnsigned, hash, encodeContractAddress,
9
10
  generateKeyPairFromSecret, generateKeyPair, sign, verify, messageToHash, signMessage,
10
11
  verifyMessage, isValidKeypair,
11
12
  } from './utils/crypto';
13
+ export {
14
+ signJwt, unpackJwt, verifyJwt, isJwt, ensureJwt,
15
+ } from './utils/jwt';
16
+ export type { Jwt } from './utils/jwt';
12
17
  export { recover, dump } from './utils/keystore';
13
18
  export type { Keystore } from './utils/keystore';
14
19
  export { toBytes } from './utils/bytes';
@@ -20,15 +25,15 @@ export {
20
25
  getDefaultPointerKey, getMinimumNameFee, computeBidFee, computeAuctionEndBlock, isAuctionName,
21
26
  } from './tx/builder/helpers';
22
27
  export {
23
- MAX_AUTH_FUN_GAS, NAME_TTL, NAME_MAX_TTL, NAME_MAX_CLIENT_TTL, CLIENT_TTL, MIN_GAS_PRICE,
28
+ MAX_AUTH_FUN_GAS, MIN_GAS_PRICE,
24
29
  NAME_FEE_MULTIPLIER, NAME_FEE_BID_INCREMENT, NAME_BID_TIMEOUT_BLOCKS, NAME_MAX_LENGTH_FEE,
25
- NAME_BID_RANGES, ConsensusProtocolVersion, VmVersion, AbiVersion, Tag,
30
+ NAME_BID_RANGES, ConsensusProtocolVersion, VmVersion, AbiVersion, Tag, DRY_RUN_ACCOUNT,
26
31
  } from './tx/builder/constants';
27
32
  export type { Int, AensName } from './tx/builder/constants';
28
33
  // TODO: move to constants
29
- export {
30
- ORACLE_TTL_TYPES, ORACLE_TTL, QUERY_TTL, RESPONSE_TTL, DRY_RUN_ACCOUNT, CallReturnType,
31
- } from './tx/builder/schema';
34
+ export { ORACLE_TTL_TYPES, CallReturnType } from './tx/builder/schema';
35
+ export { DelegationTag } from './tx/builder/delegation/schema';
36
+ export { packDelegation, unpackDelegation } from './tx/builder/delegation';
32
37
  export {
33
38
  getExecutionCost, getExecutionCostBySignedTx, getExecutionCostUsingNode,
34
39
  } from './tx/execution-cost';
@@ -93,7 +98,7 @@ export {
93
98
  CryptographyError, NodeError, TransactionError, WalletError, ArgumentError, IllegalArgumentError,
94
99
  ArgumentCountMismatchError, InsufficientBalanceError, MissingParamError, NoSerializerFoundError,
95
100
  RequestTimedOutError, TxTimedOutError, TypeError, UnsupportedPlatformError,
96
- UnsupportedProtocolError, NotImplementedError, UnsupportedVersionError, InternalError,
101
+ UnsupportedProtocolError, NotImplementedError, UnsupportedVersionError, LogicError, InternalError,
97
102
  UnexpectedTsError, UnavailableAccountError, AensPointerContextError, InsufficientNameFeeError,
98
103
  InvalidAensNameError, InvalidRpcMessageError, MissingCallbackError, UnAuthorizedAccountError,
99
104
  UnknownRpcClientError, UnsubscribedAccountError, ChannelCallError, ChannelConnectionError,
@@ -111,4 +116,6 @@ export {
111
116
  } from './utils/errors';
112
117
  export {
113
118
  RpcBroadcastError, NAME_BID_MAX_LENGTH, encodeFateValue, decodeFateValue,
119
+ NAME_TTL, NAME_MAX_TTL, NAME_MAX_CLIENT_TTL, CLIENT_TTL,
120
+ ORACLE_TTL, QUERY_TTL, RESPONSE_TTL,
114
121
  } from './deprecated';
package/src/index.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './index-browser';
2
2
 
3
3
  export { default as CompilerCli } from './contract/compiler/Cli';
4
+ export { default as CompilerCli8 } from './contract/compiler/Cli8';
4
5
  export { default as getFileSystem } from './contract/compiler/getFileSystem';
5
6
  export { default as CompilerHttpNode } from './contract/compiler/HttpNode';