@aeternity/aepp-sdk 11.0.0 → 12.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (442) hide show
  1. package/LICENSE +1 -1
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -22
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +2 -1
  6. package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
  7. package/dist/aepp-sdk.browser.js.map +1 -1
  8. package/dist/aepp-sdk.js +20764 -1
  9. package/dist/aepp-sdk.js.map +1 -1
  10. package/es/AeSdk.d.ts +37 -0
  11. package/es/AeSdk.mjs +81 -0
  12. package/es/AeSdk.mjs.map +1 -0
  13. package/es/AeSdkAepp.d.ts +70 -0
  14. package/es/AeSdkAepp.mjs +176 -0
  15. package/es/AeSdkAepp.mjs.map +1 -0
  16. package/es/AeSdkBase.d.ts +213 -0
  17. package/es/AeSdkBase.mjs +314 -0
  18. package/es/AeSdkBase.mjs.map +1 -0
  19. package/es/AeSdkWallet.d.ts +104 -0
  20. package/es/AeSdkWallet.mjs +326 -0
  21. package/es/AeSdkWallet.mjs.map +1 -0
  22. package/es/Node.d.ts +41 -0
  23. package/es/Node.mjs +147 -0
  24. package/es/Node.mjs.map +1 -0
  25. package/es/account/Base.d.ts +68 -0
  26. package/es/account/Base.mjs +123 -0
  27. package/es/account/Base.mjs.map +1 -0
  28. package/es/account/Memory.d.ts +26 -0
  29. package/es/account/Memory.mjs +103 -0
  30. package/es/account/Memory.mjs.map +1 -0
  31. package/es/account/Rpc.d.ts +27 -0
  32. package/es/account/Rpc.mjs +80 -0
  33. package/es/account/Rpc.mjs.map +1 -0
  34. package/es/aens.d.ts +222 -0
  35. package/es/aens.mjs +338 -0
  36. package/es/aens.mjs.map +1 -0
  37. package/es/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  38. package/es/aepp-wallet-communication/connection/Browser.mjs +73 -0
  39. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
  40. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
  41. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +58 -0
  42. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
  43. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  44. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +146 -0
  45. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
  46. package/es/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  47. package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +16 -11
  48. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
  49. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
  54. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
  55. package/es/aepp-wallet-communication/schema.d.ts +105 -46
  56. package/es/aepp-wallet-communication/schema.mjs +251 -0
  57. package/es/aepp-wallet-communication/schema.mjs.map +1 -0
  58. package/es/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  59. package/es/aepp-wallet-communication/wallet-detector.mjs +62 -0
  60. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
  61. package/es/apis/compiler/compiler.d.ts +92 -0
  62. package/es/apis/compiler/compiler.mjs +576 -0
  63. package/es/apis/compiler/compiler.mjs.map +1 -0
  64. package/es/apis/compiler/index.d.ts +2 -0
  65. package/es/apis/compiler/index.mjs +3 -0
  66. package/es/apis/compiler/index.mjs.map +1 -0
  67. package/es/apis/compiler/models/index.d.ts +248 -0
  68. package/es/apis/compiler/models/index.mjs +48 -0
  69. package/es/apis/compiler/models/index.mjs.map +1 -0
  70. package/es/apis/compiler/models/mappers.d.ts +23 -0
  71. package/es/apis/compiler/models/mappers.mjs +585 -0
  72. package/es/apis/compiler/models/mappers.mjs.map +1 -0
  73. package/es/apis/compiler/models/parameters.d.ts +13 -0
  74. package/es/apis/compiler/models/parameters.mjs +71 -0
  75. package/es/apis/compiler/models/parameters.mjs.map +1 -0
  76. package/es/apis/node/index.d.ts +2 -0
  77. package/es/apis/node/index.mjs +3 -0
  78. package/es/apis/node/index.mjs.map +1 -0
  79. package/es/apis/node/models/index.d.ts +1065 -0
  80. package/es/apis/node/models/index.mjs +2 -0
  81. package/es/apis/node/models/index.mjs.map +1 -0
  82. package/es/apis/node/models/mappers.d.ts +95 -0
  83. package/es/apis/node/models/mappers.mjs +4166 -0
  84. package/es/apis/node/models/mappers.mjs.map +1 -0
  85. package/es/apis/node/models/parameters.d.ts +17 -0
  86. package/es/apis/node/models/parameters.mjs +165 -0
  87. package/es/apis/node/models/parameters.mjs.map +1 -0
  88. package/es/apis/node/node.d.ts +215 -0
  89. package/es/apis/node/node.mjs +1165 -0
  90. package/es/apis/node/node.mjs.map +1 -0
  91. package/es/chain.d.ts +248 -0
  92. package/es/chain.mjs +560 -0
  93. package/es/chain.mjs.map +1 -0
  94. package/es/channel/handlers.d.ts +34 -0
  95. package/es/channel/handlers.mjs +164 -131
  96. package/es/channel/handlers.mjs.map +1 -1
  97. package/es/channel/index.d.ts +625 -0
  98. package/es/channel/index.mjs +897 -902
  99. package/es/channel/index.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +101 -0
  101. package/es/channel/internal.mjs +138 -88
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Compiler.d.ts +18 -0
  104. package/es/contract/Compiler.mjs +68 -0
  105. package/es/contract/Compiler.mjs.map +1 -0
  106. package/es/contract/aci.d.ts +127 -0
  107. package/es/contract/aci.mjs +225 -193
  108. package/es/contract/aci.mjs.map +1 -1
  109. package/es/contract/ga.d.ts +69 -0
  110. package/es/contract/ga.mjs +195 -0
  111. package/es/contract/ga.mjs.map +1 -0
  112. package/es/contract/methods.d.ts +71 -0
  113. package/es/contract/methods.mjs +104 -0
  114. package/es/contract/methods.mjs.map +1 -0
  115. package/es/deprecated/index.d.ts +143 -0
  116. package/es/deprecated/index.mjs +162 -0
  117. package/es/deprecated/index.mjs.map +1 -0
  118. package/es/deprecated/methods.d.ts +18 -0
  119. package/es/deprecated/methods.mjs +26 -0
  120. package/es/deprecated/methods.mjs.map +1 -0
  121. package/es/index.d.ts +35 -0
  122. package/es/index.mjs +35 -40
  123. package/es/index.mjs.map +1 -1
  124. package/es/oracle.d.ts +161 -0
  125. package/es/oracle.mjs +306 -0
  126. package/es/oracle.mjs.map +1 -0
  127. package/es/spend.d.ts +62 -0
  128. package/es/spend.mjs +111 -0
  129. package/es/spend.mjs.map +1 -0
  130. package/es/tx/builder/address.d.ts +25 -0
  131. package/es/tx/builder/address.mjs +45 -0
  132. package/es/tx/builder/address.mjs.map +1 -0
  133. package/es/tx/builder/constants.d.ts +70 -0
  134. package/es/tx/builder/constants.mjs +122 -0
  135. package/es/tx/builder/constants.mjs.map +1 -0
  136. package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
  137. package/es/tx/builder/field-types/coin-amount.mjs +26 -0
  138. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
  139. package/es/tx/builder/field-types/deposit.d.ts +15 -0
  140. package/es/tx/builder/field-types/deposit.mjs +19 -0
  141. package/es/tx/builder/field-types/deposit.mjs.map +1 -0
  142. package/es/tx/builder/field-types/fee.d.ts +25 -0
  143. package/es/tx/builder/field-types/fee.mjs +150 -0
  144. package/es/tx/builder/field-types/fee.mjs.map +1 -0
  145. package/es/tx/builder/field-types/field.d.ts +6 -0
  146. package/es/tx/builder/field-types/field.mjs +15 -0
  147. package/es/tx/builder/field-types/field.mjs.map +1 -0
  148. package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
  149. package/es/tx/builder/field-types/gas-limit.mjs +33 -0
  150. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
  151. package/es/tx/builder/field-types/gas-price.d.ts +8 -0
  152. package/es/tx/builder/field-types/gas-price.mjs +18 -0
  153. package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
  154. package/es/tx/builder/field-types/index.d.ts +70 -0
  155. package/es/tx/builder/field-types/index.mjs +25 -0
  156. package/es/tx/builder/field-types/index.mjs.map +1 -0
  157. package/es/tx/builder/field-types/name-fee.d.ts +20 -0
  158. package/es/tx/builder/field-types/name-fee.mjs +24 -0
  159. package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
  160. package/es/tx/builder/field-types/name-id.d.ts +14 -0
  161. package/es/tx/builder/field-types/name-id.mjs +19 -0
  162. package/es/tx/builder/field-types/name-id.mjs.map +1 -0
  163. package/es/tx/builder/field-types/name.d.ts +13 -0
  164. package/es/tx/builder/field-types/name.mjs +18 -0
  165. package/es/tx/builder/field-types/name.mjs.map +1 -0
  166. package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
  167. package/es/tx/builder/field-types/short-u-int.mjs +12 -0
  168. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
  169. package/es/tx/builder/field-types/u-int.d.ts +8 -0
  170. package/es/tx/builder/field-types/u-int.mjs +14 -0
  171. package/es/tx/builder/field-types/u-int.mjs.map +1 -0
  172. package/es/tx/builder/helpers.d.ts +125 -0
  173. package/es/tx/builder/helpers.mjs +94 -240
  174. package/es/tx/builder/helpers.mjs.map +1 -1
  175. package/es/tx/builder/index.d.ts +88 -0
  176. package/es/tx/builder/index.mjs +167 -358
  177. package/es/tx/builder/index.mjs.map +1 -1
  178. package/es/tx/builder/schema.d.ts +1201 -0
  179. package/es/tx/builder/schema.mjs +175 -664
  180. package/es/tx/builder/schema.mjs.map +1 -1
  181. package/es/tx/index.d.ts +64 -0
  182. package/es/tx/index.mjs +151 -265
  183. package/es/tx/index.mjs.map +1 -1
  184. package/es/tx/validator.d.ts +20 -0
  185. package/es/tx/validator.mjs +104 -124
  186. package/es/tx/validator.mjs.map +1 -1
  187. package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
  188. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
  189. package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
  190. package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
  191. package/es/typings/bip32-path/index.d.mjs +2 -0
  192. package/es/typings/bip32-path/index.d.mjs.map +1 -0
  193. package/es/typings/blakejs/index.d.mjs.map +1 -1
  194. package/es/typings/sha-js/index.d.mjs +2 -0
  195. package/es/typings/sha-js/index.d.mjs.map +1 -0
  196. package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
  197. package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
  198. package/es/utils/amount-formatter.d.ts +42 -0
  199. package/es/utils/amount-formatter.mjs +36 -49
  200. package/es/utils/amount-formatter.mjs.map +1 -1
  201. package/es/utils/autorest.d.ts +6 -0
  202. package/es/utils/autorest.mjs +97 -0
  203. package/es/utils/autorest.mjs.map +1 -0
  204. package/es/utils/bignumber.d.ts +13 -0
  205. package/es/utils/bignumber.mjs +11 -8
  206. package/es/utils/bignumber.mjs.map +1 -1
  207. package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
  208. package/es/utils/bytes.mjs +11 -15
  209. package/es/utils/bytes.mjs.map +1 -1
  210. package/es/utils/crypto.d.ts +88 -0
  211. package/es/utils/crypto.mjs +64 -108
  212. package/es/utils/crypto.mjs.map +1 -1
  213. package/es/utils/encoder-types.d.ts +61 -0
  214. package/es/utils/encoder-types.mjs +36 -0
  215. package/es/utils/encoder-types.mjs.map +1 -0
  216. package/es/utils/encoder.d.ts +25 -0
  217. package/es/utils/encoder.mjs +118 -0
  218. package/es/utils/encoder.mjs.map +1 -0
  219. package/es/{errors.d.ts → utils/errors.d.ts} +246 -59
  220. package/es/utils/errors.mjs +313 -136
  221. package/es/utils/errors.mjs.map +1 -1
  222. package/es/utils/hd-wallet.d.ts +50 -0
  223. package/es/utils/hd-wallet.mjs +86 -45
  224. package/es/utils/hd-wallet.mjs.map +1 -1
  225. package/es/utils/json-big.d.ts +5 -0
  226. package/es/utils/json-big.mjs +12 -16
  227. package/es/utils/json-big.mjs.map +1 -1
  228. package/es/utils/keystore.d.ts +51 -0
  229. package/es/utils/keystore.mjs +101 -194
  230. package/es/utils/keystore.mjs.map +1 -1
  231. package/es/{mptree.d.ts → utils/mptree.d.ts} +6 -9
  232. package/es/utils/mptree.mjs +22 -18
  233. package/es/utils/mptree.mjs.map +1 -1
  234. package/es/utils/other.d.ts +20 -0
  235. package/es/utils/other.mjs +32 -35
  236. package/es/utils/other.mjs.map +1 -1
  237. package/es/utils/semver-satisfies.d.ts +1 -0
  238. package/es/utils/semver-satisfies.mjs +2 -2
  239. package/es/utils/semver-satisfies.mjs.map +1 -1
  240. package/es/utils/string.d.ts +24 -0
  241. package/es/utils/string.mjs +8 -10
  242. package/es/utils/string.mjs.map +1 -1
  243. package/package.json +56 -42
  244. package/src/AeSdk.ts +68 -0
  245. package/src/AeSdkAepp.ts +176 -0
  246. package/src/AeSdkBase.ts +338 -0
  247. package/src/AeSdkWallet.ts +348 -0
  248. package/src/Node.ts +173 -0
  249. package/src/account/Base.ts +124 -0
  250. package/src/account/Memory.ts +98 -0
  251. package/src/account/Rpc.ts +69 -0
  252. package/src/aens.ts +407 -0
  253. package/src/aepp-wallet-communication/connection/Browser.ts +71 -0
  254. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +59 -0
  255. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +122 -0
  256. package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +18 -18
  257. package/src/aepp-wallet-communication/rpc/RpcClient.ts +143 -0
  258. package/src/aepp-wallet-communication/rpc/types.ts +66 -0
  259. package/src/aepp-wallet-communication/schema.ts +224 -0
  260. package/src/aepp-wallet-communication/wallet-detector.ts +72 -0
  261. package/src/apis/compiler/code-model-v4.yaml +2649 -0
  262. package/src/apis/compiler/compiler.ts +585 -0
  263. package/src/apis/compiler/index.ts +2 -0
  264. package/src/apis/compiler/models/index.ts +301 -0
  265. package/src/apis/compiler/models/mappers.ts +583 -0
  266. package/src/apis/compiler/models/parameters.ts +93 -0
  267. package/src/apis/node/code-model-v4.yaml +10080 -0
  268. package/src/apis/node/index.ts +2 -0
  269. package/src/apis/node/models/index.ts +1257 -0
  270. package/src/apis/node/models/mappers.ts +4280 -0
  271. package/src/apis/node/models/parameters.ts +188 -0
  272. package/src/apis/node/node.ts +1299 -0
  273. package/src/chain.ts +502 -0
  274. package/src/channel/handlers.ts +817 -0
  275. package/src/channel/index.ts +1025 -0
  276. package/src/channel/internal.ts +361 -0
  277. package/src/contract/Compiler.ts +67 -0
  278. package/src/contract/aci.ts +538 -0
  279. package/src/contract/ga.ts +199 -0
  280. package/src/contract/methods.ts +123 -0
  281. package/src/deprecated/index.ts +170 -0
  282. package/src/deprecated/methods.ts +25 -0
  283. package/src/index.ts +56 -0
  284. package/src/oracle.ts +364 -0
  285. package/src/spend.ts +164 -0
  286. package/src/tx/builder/address.ts +50 -0
  287. package/src/tx/builder/constants.ts +126 -0
  288. package/src/tx/builder/field-types/coin-amount.ts +27 -0
  289. package/src/tx/builder/field-types/deposit.ts +21 -0
  290. package/src/tx/builder/field-types/fee.ts +143 -0
  291. package/src/tx/builder/field-types/field.ts +9 -0
  292. package/src/tx/builder/field-types/gas-limit.ts +41 -0
  293. package/src/tx/builder/field-types/gas-price.ts +16 -0
  294. package/src/tx/builder/field-types/index.ts +45 -0
  295. package/src/tx/builder/field-types/name-fee.ts +32 -0
  296. package/src/tx/builder/field-types/name-id.ts +20 -0
  297. package/src/tx/builder/field-types/name.ts +18 -0
  298. package/src/tx/builder/field-types/short-u-int.ts +11 -0
  299. package/src/tx/builder/field-types/u-int.ts +16 -0
  300. package/src/tx/builder/helpers.ts +248 -0
  301. package/src/tx/builder/index.ts +400 -0
  302. package/src/tx/builder/schema.ts +727 -0
  303. package/src/tx/index.ts +192 -0
  304. package/src/tx/validator.ts +230 -0
  305. package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
  306. package/src/typings/@aeternity__uuid/index.d.ts +5 -0
  307. package/src/typings/bip32-path/index.d.ts +33 -0
  308. package/src/typings/blakejs/index.d.ts +4 -32
  309. package/src/typings/sha-js/index.d.ts +5 -0
  310. package/src/typings/tweetnacl-auth/index.d.ts +14 -0
  311. package/src/utils/amount-formatter.ts +56 -69
  312. package/src/utils/autorest.ts +93 -0
  313. package/src/utils/bignumber.ts +11 -12
  314. package/src/utils/bytes.ts +29 -31
  315. package/src/utils/crypto.ts +205 -0
  316. package/src/utils/encoder-types.ts +63 -0
  317. package/src/utils/encoder.ts +146 -0
  318. package/src/utils/errors.ts +482 -366
  319. package/src/utils/hd-wallet.ts +166 -0
  320. package/src/utils/json-big.ts +27 -0
  321. package/src/utils/keystore.ts +182 -0
  322. package/src/utils/mptree.ts +64 -61
  323. package/src/utils/other.ts +34 -41
  324. package/src/utils/semver-satisfies.ts +15 -11
  325. package/src/utils/string.ts +18 -20
  326. package/es/account/base.mjs +0 -179
  327. package/es/account/base.mjs.map +0 -1
  328. package/es/account/memory.mjs +0 -99
  329. package/es/account/memory.mjs.map +0 -1
  330. package/es/account/multiple.mjs +0 -179
  331. package/es/account/multiple.mjs.map +0 -1
  332. package/es/ae/aens.mjs +0 -404
  333. package/es/ae/aens.mjs.map +0 -1
  334. package/es/ae/aepp.mjs +0 -45
  335. package/es/ae/aepp.mjs.map +0 -1
  336. package/es/ae/contract.mjs +0 -159
  337. package/es/ae/contract.mjs.map +0 -1
  338. package/es/ae/index.mjs +0 -207
  339. package/es/ae/index.mjs.map +0 -1
  340. package/es/ae/oracle.mjs +0 -339
  341. package/es/ae/oracle.mjs.map +0 -1
  342. package/es/ae/universal.mjs +0 -45
  343. package/es/ae/universal.mjs.map +0 -1
  344. package/es/ae/wallet.mjs +0 -50
  345. package/es/ae/wallet.mjs.map +0 -1
  346. package/es/amount-formatter.d.ts +0 -58
  347. package/es/bignumber.d.ts +0 -18
  348. package/es/chain/index.mjs +0 -272
  349. package/es/chain/index.mjs.map +0 -1
  350. package/es/chain/node.mjs +0 -442
  351. package/es/chain/node.mjs.map +0 -1
  352. package/es/contract/compiler.mjs +0 -115
  353. package/es/contract/compiler.mjs.map +0 -1
  354. package/es/contract/ga/helpers.mjs +0 -30
  355. package/es/contract/ga/helpers.mjs.map +0 -1
  356. package/es/contract/ga/index.mjs +0 -178
  357. package/es/contract/ga/index.mjs.map +0 -1
  358. package/es/crypto-ts.d.ts +0 -9
  359. package/es/node-pool/index.mjs +0 -188
  360. package/es/node-pool/index.mjs.map +0 -1
  361. package/es/node.mjs +0 -133
  362. package/es/node.mjs.map +0 -1
  363. package/es/other.d.ts +0 -31
  364. package/es/semver-satisfies.d.ts +0 -1
  365. package/es/string.d.ts +0 -26
  366. package/es/tx/builder/field-types.mjs +0 -74
  367. package/es/tx/builder/field-types.mjs.map +0 -1
  368. package/es/tx/tx-object.mjs +0 -283
  369. package/es/tx/tx-object.mjs.map +0 -1
  370. package/es/tx/tx.mjs +0 -938
  371. package/es/tx/tx.mjs.map +0 -1
  372. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  374. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  376. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  378. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  380. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  381. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  382. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  384. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  386. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  388. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  389. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  390. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  392. package/es/utils/async-init.mjs +0 -64
  393. package/es/utils/async-init.mjs.map +0 -1
  394. package/es/utils/crypto-ts.mjs.map +0 -1
  395. package/es/utils/swagger.mjs +0 -164
  396. package/es/utils/swagger.mjs.map +0 -1
  397. package/src/account/base.js +0 -153
  398. package/src/account/memory.js +0 -83
  399. package/src/account/multiple.js +0 -162
  400. package/src/ae/aens.js +0 -361
  401. package/src/ae/aepp.js +0 -45
  402. package/src/ae/contract.js +0 -148
  403. package/src/ae/index.js +0 -168
  404. package/src/ae/oracle.js +0 -311
  405. package/src/ae/universal.js +0 -47
  406. package/src/ae/wallet.js +0 -50
  407. package/src/chain/index.js +0 -269
  408. package/src/chain/node.js +0 -320
  409. package/src/channel/handlers.js +0 -673
  410. package/src/channel/index.js +0 -898
  411. package/src/channel/internal.js +0 -237
  412. package/src/contract/aci.js +0 -376
  413. package/src/contract/compiler.js +0 -100
  414. package/src/contract/ga/helpers.js +0 -19
  415. package/src/contract/ga/index.js +0 -150
  416. package/src/index.js +0 -89
  417. package/src/node-pool/index.js +0 -172
  418. package/src/node.js +0 -116
  419. package/src/tx/builder/field-types.js +0 -61
  420. package/src/tx/builder/helpers.js +0 -380
  421. package/src/tx/builder/index.js +0 -465
  422. package/src/tx/builder/schema.js +0 -1197
  423. package/src/tx/index.js +0 -301
  424. package/src/tx/tx-object.js +0 -187
  425. package/src/tx/tx.js +0 -631
  426. package/src/tx/validator.js +0 -181
  427. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  428. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  429. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  430. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  431. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  432. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  433. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  434. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  435. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  436. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  437. package/src/utils/async-init.js +0 -45
  438. package/src/utils/crypto.js +0 -229
  439. package/src/utils/hd-wallet.js +0 -100
  440. package/src/utils/json-big.js +0 -26
  441. package/src/utils/keystore.js +0 -219
  442. package/src/utils/swagger.js +0 -156
@@ -1,174 +1,172 @@
1
1
  /*
2
- * ISC License (ISC)
3
- * Copyright (c) 2018 aeternity developers
4
- *
5
- * Permission to use, copy, modify, and/or distribute this software for any
6
- * purpose with or without fee is hereby granted, provided that the above
7
- * copyright notice and this permission notice appear in all copies.
8
- *
9
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
- * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
- * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
- * PERFORMANCE OF THIS SOFTWARE.
16
- */
17
-
18
- /**
19
- * ContractACI module
20
- *
21
- * @module @aeternity/aepp-sdk/es/contract/aci
22
- * @export getContractInstance
23
- */
2
+ * ISC License (ISC)
3
+ * Copyright (c) 2022 aeternity developers
4
+ *
5
+ * Permission to use, copy, modify, and/or distribute this software for any
6
+ * purpose with or without fee is hereby granted, provided that the above
7
+ * copyright notice and this permission notice appear in all copies.
8
+ *
9
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ * PERFORMANCE OF THIS SOFTWARE.
16
+ */
17
+ // @ts-expect-error TODO remove
24
18
  import _aeternityAeppCalldata from '@aeternity/aepp-calldata';
25
19
  const {
26
20
  Encoder: Calldata
27
21
  } = _aeternityAeppCalldata;
28
- import { DRY_RUN_ACCOUNT, GAS_MAX } from "../tx/builder/schema.mjs";
29
- import TxObject from "../tx/tx-object.mjs";
30
- import { decode } from "../tx/builder/helpers.mjs";
31
- import { MissingContractDefError, MissingContractAddressError, InactiveContractError, BytecodeMismatchError, InternalError, DuplicateContractError, MissingFunctionNameError, InvalidMethodInvocationError, NotPayableFunctionError, TypeError, NodeInvocationError, IllegalArgumentError, NoSuchContractFunctionError, MissingEventDefinitionError, AmbiguousEventDefinitionError } from "../utils/errors.mjs";
32
- import { hash } from "../utils/crypto-ts.mjs";
22
+ import { DRY_RUN_ACCOUNT, AMOUNT } from "../tx/builder/schema.mjs";
23
+ import { Tag } from "../tx/builder/constants.mjs";
24
+ import { buildContractIdByContractTx, unpackTx } from "../tx/builder/index.mjs";
25
+ import { _buildTx } from "../tx/index.mjs";
26
+ import { send } from "../spend.mjs";
27
+ import { decode } from "../utils/encoder.mjs";
28
+ import { MissingContractDefError, MissingContractAddressError, InactiveContractError, BytecodeMismatchError, DuplicateContractError, MissingFunctionNameError, InvalidMethodInvocationError, NotPayableFunctionError, TypeError, NodeInvocationError, IllegalArgumentError, NoSuchContractFunctionError, MissingEventDefinitionError, AmbiguousEventDefinitionError, UnexpectedTsError, InternalError } from "../utils/errors.mjs";
29
+ import { hash as calcHash } from "../utils/crypto.mjs";
30
+ import { getAccount, getContract, getContractByteCode, getKeyBlock, resolveName, txDryRun } from "../chain.mjs";
31
+
33
32
  /**
34
33
  * Generate contract ACI object with predefined js methods for contract usage - can be used for
35
34
  * creating a reference to already deployed contracts
36
- * @alias module:@aeternity/aepp-sdk/es/contract/aci
37
- * @param {Object} [options={}] Options object
38
- * @param {String} [options.source] Contract source code
39
- * @param {String} [options.bytecode] Contract bytecode
40
- * @param {Object} [options.aci] Contract ACI
41
- * @param {String} [options.contractAddress] Contract address
42
- * @param {Object} [options.filesystem] Contact source external namespaces map
43
- * @param {Boolean} [options.validateBytecode] Compare source code with on-chain version
44
- * @return {ContractInstance} JS Contract API
35
+ * @category contract
36
+ * @param options - Options object
37
+ * @returns JS Contract API
45
38
  * @example
39
+ * ```js
46
40
  * const contractIns = await aeSdk.getContractInstance({ source })
47
41
  * await contractIns.deploy([321]) or await contractIns.methods.init(321)
48
42
  * const callResult = await contractIns.call('setState', [123]) or
49
43
  * await contractIns.methods.setState.send(123, options)
50
44
  * const staticCallResult = await contractIns.call('setState', [123], { callStatic: true }) or
51
45
  * await contractIns.methods.setState.get(123, options)
52
- * Also you can call contract like: await contractIns.methods.setState(123, options)
46
+ * ```
47
+ * Also you can call contract like: `await contractIns.methods.setState(123, options)`
53
48
  * Then sdk decide to make on-chain or static call(dry-run API) transaction based on function is
54
49
  * stateful or not
55
50
  */
56
-
57
- export default async function getContractInstance() {
58
- var _this = this;
59
-
51
+ export default async function getContractInstance(_ref) {
60
52
  let {
53
+ onAccount,
54
+ onCompiler,
55
+ onNode,
61
56
  source,
62
57
  bytecode,
63
58
  aci: _aci,
64
59
  contractAddress,
65
- filesystem = {},
60
+ fileSystem = {},
66
61
  validateBytecode,
67
62
  ...otherOptions
68
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
63
+ } = _ref;
69
64
 
70
- if (!_aci && source) {
71
- _aci = await this.compilerApi.generateACI({
65
+ if (_aci == null && source != null) {
66
+ // TODO: should be fixed when the compiledAci interface gets updated
67
+ _aci = await onCompiler.generateACI({
72
68
  code: source,
73
69
  options: {
74
- filesystem
70
+ fileSystem
75
71
  }
76
72
  });
77
73
  }
78
74
 
79
- if (!_aci) throw new MissingContractDefError();
80
- contractAddress = contractAddress && (await this.resolveName(contractAddress, 'contract_pubkey', {
81
- resolveByNode: true
82
- }));
75
+ if (_aci == null) throw new MissingContractDefError();
76
+
77
+ if (contractAddress != null) {
78
+ contractAddress = await resolveName(contractAddress, 'contract_pubkey', {
79
+ resolveByNode: true,
80
+ onNode
81
+ });
82
+ }
83
83
 
84
- if (!contractAddress && !source && !bytecode) {
84
+ if (contractAddress == null && source == null && bytecode == null) {
85
85
  throw new MissingContractAddressError('Can\'t create instance by ACI without address');
86
86
  }
87
87
 
88
- if (contractAddress) {
89
- const contract = await this.getContract(contractAddress);
90
- if (!contract.active) throw new InactiveContractError(contractAddress);
88
+ if (contractAddress != null) {
89
+ const contract = await getContract(contractAddress, {
90
+ onNode
91
+ });
92
+ if (contract.active == null) throw new InactiveContractError(contractAddress);
91
93
  }
92
94
 
93
95
  const instance = {
94
96
  _aci,
95
- _name: _aci.encoded_aci.contract.name,
96
- calldata: new Calldata([_aci.encoded_aci, ..._aci.external_encoded_aci]),
97
+ _name: _aci.encodedAci.contract.name,
98
+ calldata: new Calldata([_aci.encodedAci, ..._aci.externalEncodedAci]),
97
99
  source,
98
100
  bytecode,
99
101
  deployInfo: {
100
102
  address: contractAddress
101
103
  },
102
- options: { ...this.Ae.defaults,
104
+ options: {
105
+ onAccount,
106
+ onCompiler,
107
+ onNode,
108
+ amount: AMOUNT,
103
109
  callStatic: false,
104
- filesystem,
110
+ fileSystem,
105
111
  ...otherOptions
106
112
  },
107
- compilerVersion: this.compilerVersion
113
+
114
+ /* eslint-disable @typescript-eslint/no-unused-vars */
115
+
116
+ /* eslint-disable @typescript-eslint/no-empty-function */
117
+ async compile(_options) {},
118
+
119
+ async _estimateGas(_name, _params, _options) {},
120
+
121
+ async deploy(_params, _options) {},
122
+
123
+ async call(_fn, _params, _options) {},
124
+
125
+ decodeEvents(_events, options) {},
126
+
127
+ /* eslint-enable @typescript-eslint/no-unused-vars */
128
+
129
+ /* eslint-enable @typescript-eslint/no-empty-function */
130
+ methods: undefined
108
131
  };
109
132
 
110
- if (validateBytecode) {
111
- if (!contractAddress) throw new MissingContractAddressError('Can\'t validate bytecode without contract address');
112
- const onChanBytecode = (await this.getContractByteCode(contractAddress)).bytecode;
113
- const isValid = source ? await this.compilerApi.validateByteCode({
133
+ if (validateBytecode != null) {
134
+ if (contractAddress == null) throw new MissingContractAddressError('Can\'t validate bytecode without contract address');
135
+ const onChanBytecode = (await getContractByteCode(contractAddress, {
136
+ onNode
137
+ })).bytecode;
138
+ const isValid = source != null ? await onCompiler.validateByteCode({
114
139
  bytecode: onChanBytecode,
115
140
  source,
116
141
  options: instance.options
117
- }).then(res => Object.entries(res).length === 0, () => false) : bytecode === onChanBytecode;
118
- if (!isValid) throw new BytecodeMismatchError(source ? 'source' : 'bytecode');
142
+ }).then(() => true, () => false) : bytecode === onChanBytecode;
143
+ if (!isValid) throw new BytecodeMismatchError(source != null ? 'source' : 'bytecode');
119
144
  }
120
145
  /**
121
146
  * Compile contract
122
- * @alias module:@aeternity/aepp-sdk/es/contract/aci
123
- * @rtype () => ContractInstance: Object
124
- * @return {String} bytecode bytecode
147
+ * @returns bytecode
125
148
  */
126
149
 
127
150
 
128
151
  instance.compile = async function () {
129
152
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
130
- if (instance.bytecode) throw new IllegalArgumentError('Contract already compiled');
131
- if (!instance.source) throw new IllegalArgumentError('Can\'t compile without source code');
132
- const {
133
- bytecode
134
- } = await _this.compilerApi.compileContract({
153
+ if (instance.bytecode != null) throw new IllegalArgumentError('Contract already compiled');
154
+ if (instance.source == null) throw new IllegalArgumentError('Can\'t compile without source code');
155
+ instance.bytecode = (await onCompiler.compileContract({
135
156
  code: instance.source,
136
157
  options: { ...instance.options,
137
158
  ...options
138
159
  }
139
- });
140
- instance.bytecode = bytecode;
160
+ })).bytecode;
141
161
  return instance.bytecode;
142
162
  };
143
163
 
144
- const sendAndProcess = async (tx, options) => {
145
- const txData = await this.send(tx, options);
146
- const result = {
147
- hash: txData.hash,
148
- tx: TxObject({
149
- tx: txData.rawTx
150
- }),
151
- txData,
152
- rawTx: txData.rawTx
153
- };
154
- if (options.waitMined === false) return result;
155
- const {
156
- callInfo
157
- } = await this.api.getTransactionInfoByHash(txData.hash);
158
- Object.assign(result.txData, callInfo); // TODO: don't duplicate data in result
159
-
160
- await handleCallError(callInfo);
161
- return { ...result,
162
- result: callInfo
163
- };
164
- };
165
-
166
- const handleCallError = _ref => {
164
+ const handleCallError = (_ref2, transaction) => {
167
165
  let {
168
166
  returnType,
169
167
  returnValue
170
- } = _ref;
171
- let message; // TODO: ensure that it works correctly https://github.com/aeternity/aepp-calldata-js/issues/88
168
+ } = _ref2;
169
+ let message;
172
170
 
173
171
  switch (returnType) {
174
172
  case 'ok':
@@ -183,10 +181,34 @@ export default async function getContractInstance() {
183
181
  break;
184
182
 
185
183
  default:
186
- throw new InternalError(`Unknown returnType: ${returnType}`);
184
+ throw new InternalError(`Unknown return type: ${returnType}`);
187
185
  }
188
186
 
189
- throw new NodeInvocationError(message);
187
+ throw new NodeInvocationError(message, transaction);
188
+ };
189
+
190
+ const sendAndProcess = async (tx, options) => {
191
+ options = { ...instance.options,
192
+ ...options
193
+ };
194
+ const txData = await send(tx, options);
195
+ const result = {
196
+ hash: txData.hash,
197
+ tx: unpackTx(txData.rawTx),
198
+ txData,
199
+ rawTx: txData.rawTx
200
+ };
201
+ if (txData.blockHeight == null) return result;
202
+ const {
203
+ callInfo
204
+ } = await onNode.getTransactionInfoByHash(txData.hash);
205
+ Object.assign(result.txData, callInfo); // TODO: don't duplicate data in result
206
+ // @ts-expect-error TODO api should be updated to match types
207
+
208
+ handleCallError(callInfo, tx);
209
+ return { ...result,
210
+ result: callInfo
211
+ };
190
212
  };
191
213
 
192
214
  instance._estimateGas = async (name, params, options) => {
@@ -202,35 +224,33 @@ export default async function getContractInstance() {
202
224
  };
203
225
  /**
204
226
  * Deploy contract
205
- * @alias module:@aeternity/aepp-sdk/es/contract/aci
206
- * @rtype (init: Array, options: Object) => ContractInstance: Object
207
- * @param {Array} params Contract init function arguments array
208
- * @param {Object} [options] options
209
- * @return {Object} deploy info
227
+ * @param params - Contract init function arguments array
228
+ * @param options - Options
229
+ * @returns deploy info
210
230
  */
211
231
 
212
232
 
213
233
  instance.deploy = async function () {
214
- var _opt$gas;
234
+ var _opt$gasLimit;
215
235
 
216
236
  let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
217
237
  let options = arguments.length > 1 ? arguments[1] : undefined;
218
238
  const opt = { ...instance.options,
219
239
  ...options
220
240
  };
221
- if (!instance.bytecode) await instance.compile(opt);
222
- if (opt.callStatic) return instance.call('init', params, opt);
223
- if (instance.deployInfo.address) throw new DuplicateContractError();
224
- const ownerId = await _this.address(opt);
225
- const {
226
- tx,
227
- contractId
228
- } = await _this.contractCreateTx({ ...opt,
229
- gas: (_opt$gas = opt.gas) !== null && _opt$gas !== void 0 ? _opt$gas : await instance._estimateGas('init', params, opt),
241
+ if (instance.bytecode == null) await instance.compile(opt); // @ts-expect-error TODO: need to fix compatibility between return types of `deploy` and `call`
242
+
243
+ if (opt.callStatic === true) return instance.call('init', params, opt);
244
+ if (instance.deployInfo.address != null) throw new DuplicateContractError();
245
+ const ownerId = await opt.onAccount.address(options);
246
+ const tx = await _buildTx(Tag.ContractCreateTx, { ...opt,
247
+ gasLimit: (_opt$gasLimit = opt.gasLimit) !== null && _opt$gasLimit !== void 0 ? _opt$gasLimit : await instance._estimateGas('init', params, opt),
230
248
  callData: instance.calldata.encode(instance._name, 'init', params),
231
249
  code: instance.bytecode,
232
- ownerId
250
+ ownerId,
251
+ onNode
233
252
  });
253
+ const contractId = buildContractIdByContractTx(tx);
234
254
  const {
235
255
  hash,
236
256
  rawTx,
@@ -249,15 +269,18 @@ export default async function getContractInstance() {
249
269
  };
250
270
  /**
251
271
  * Get function schema from contract ACI object
252
- * @param {String} name Function name
253
- * @return {Object} function ACI
272
+ * @param name - Function name
273
+ * @returns function ACI
254
274
  */
255
275
 
256
276
 
257
277
  function getFunctionACI(name) {
258
- const fn = instance._aci.encoded_aci.contract.functions.find(f => f.name === name);
278
+ const fn = instance._aci.encodedAci.contract.functions.find(f => f.name === name);
279
+
280
+ if (fn != null) {
281
+ return fn;
282
+ }
259
283
 
260
- if (fn) return fn;
261
284
  if (name === 'init') return {
262
285
  payable: false
263
286
  };
@@ -265,13 +288,10 @@ export default async function getContractInstance() {
265
288
  }
266
289
  /**
267
290
  * Call contract function
268
- * @alias module:@aeternity/aepp-sdk/es/contract/aci
269
- * @rtype (init: Array, options: Object = { callStatic: false }) => CallResult: Object
270
- * @param {String} fn Function name
271
- * @param {Array} params Array of function arguments
272
- * @param {Object} [options={}] Array of function arguments
273
- * @param {Boolean} [options.callStatic=false] Static function call
274
- * @return {Object} CallResult
291
+ * @param fn - Function name
292
+ * @param params - Array of function arguments
293
+ * @param options - Array of function arguments
294
+ * @returns CallResult
275
295
  */
276
296
 
277
297
 
@@ -283,53 +303,65 @@ export default async function getContractInstance() {
283
303
  };
284
304
  const fnACI = getFunctionACI(fn);
285
305
  const contractId = instance.deployInfo.address;
286
- if (!fn) throw new MissingFunctionNameError();
287
- if (fn === 'init' && !opt.callStatic) throw new InvalidMethodInvocationError('"init" can be called only via dryRun');
288
- if (!contractId && fn !== 'init') throw new InvalidMethodInvocationError('You need to deploy contract before calling!');
289
- if (opt.amount > 0 && fnACI.payable === false) throw new NotPayableFunctionError(`You try to pay "${opt.amount}" to function "${fn}" which is not payable. Only payable function can accept coins`);
290
- const callerId = await _this.address(opt).catch(error => {
291
- if (opt.callStatic) return DRY_RUN_ACCOUNT.pub;else throw error;
306
+ if (fn == null) throw new MissingFunctionNameError();
307
+ if (fn === 'init' && opt.callStatic === false) throw new InvalidMethodInvocationError('"init" can be called only via dryRun');
308
+ if (contractId == null && fn !== 'init') throw new InvalidMethodInvocationError('You need to deploy contract before calling!');
309
+ if (fn !== 'init' && opt.amount > 0 && fnACI.payable === false) throw new NotPayableFunctionError(opt.amount, fn);
310
+ const callerId = await Promise.resolve().then(() => opt.onAccount.address(opt)).catch(error => {
311
+ if (opt.callStatic === true) return DRY_RUN_ACCOUNT.pub;
312
+ throw error;
292
313
  });
293
314
  const callData = instance.calldata.encode(instance._name, fn, params);
294
315
  let res;
295
316
 
296
- if (opt.callStatic) {
297
- var _opt$gas2, _opt$nonce;
298
-
317
+ if (opt.callStatic === true) {
299
318
  if (typeof opt.top === 'number') {
300
- opt.top = (await _this.getKeyBlock(opt.top)).hash;
319
+ opt.top = (await getKeyBlock(opt.top, {
320
+ onNode
321
+ })).hash;
301
322
  }
302
323
 
303
324
  const txOpt = { ...opt,
304
- gas: (_opt$gas2 = opt.gas) !== null && _opt$gas2 !== void 0 ? _opt$gas2 : GAS_MAX,
305
- callData,
306
- nonce: (_opt$nonce = opt.nonce) !== null && _opt$nonce !== void 0 ? _opt$nonce : opt.top && (await _this.getAccount(callerId, {
307
- hash: opt.top
308
- })).nonce + 1
325
+ onNode,
326
+ callData
309
327
  };
310
- const tx = fn === 'init' ? (await _this.contractCreateTx({ ...txOpt,
328
+
329
+ if (opt.nonce == null && opt.top != null) {
330
+ opt.nonce = (await getAccount(callerId, {
331
+ hash: opt.top,
332
+ onNode
333
+ })).nonce + 1;
334
+ }
335
+
336
+ const tx = await (fn === 'init' ? _buildTx(Tag.ContractCreateTx, { ...txOpt,
311
337
  code: instance.bytecode,
312
338
  ownerId: callerId
313
- })).tx : await _this.contractCallTx({ ...txOpt,
339
+ }) : _buildTx(Tag.ContractCallTx, { ...txOpt,
314
340
  callerId,
315
341
  contractId
316
- });
342
+ }));
317
343
  const {
318
344
  callObj,
319
345
  ...dryRunOther
320
- } = await _this.txDryRun(tx, callerId, opt);
321
- await handleCallError(callObj);
346
+ } = await txDryRun(tx, callerId, {
347
+ onNode,
348
+ ...opt
349
+ });
350
+ if (callObj == null) throw new UnexpectedTsError();
351
+ handleCallError({
352
+ returnType: callObj.returnType,
353
+ returnValue: callObj.returnValue
354
+ }, tx);
322
355
  res = { ...dryRunOther,
323
- tx: TxObject({
324
- tx
325
- }),
356
+ tx: unpackTx(tx),
326
357
  result: callObj
327
358
  };
328
359
  } else {
329
- var _opt$gas3;
360
+ var _opt$gasLimit2;
330
361
 
331
- const tx = await _this.contractCallTx({ ...opt,
332
- gas: (_opt$gas3 = opt.gas) !== null && _opt$gas3 !== void 0 ? _opt$gas3 : await instance._estimateGas(fn, params, opt),
362
+ const tx = await _buildTx(Tag.ContractCallTx, { ...opt,
363
+ onNode,
364
+ gasLimit: (_opt$gasLimit2 = opt.gasLimit) !== null && _opt$gasLimit2 !== void 0 ? _opt$gasLimit2 : await instance._estimateGas(fn, params, opt),
333
365
  callerId,
334
366
  contractId,
335
367
  callData
@@ -337,53 +369,52 @@ export default async function getContractInstance() {
337
369
  res = await sendAndProcess(tx, opt);
338
370
  }
339
371
 
340
- if (opt.waitMined || opt.callStatic) {
341
- res.decodedResult = fnACI.returns && fnACI.returns !== 'unit' && fn !== 'init' && instance.calldata.decode(instance._name, fn, res.result.returnValue);
372
+ if (opt.callStatic === true || res.txData.blockHeight != null) {
373
+ res.decodedResult = fnACI.returns != null && fnACI.returns !== 'unit' && fn !== 'init' && instance.calldata.decode(instance._name, fn, res.result.returnValue);
342
374
  res.decodedEvents = instance.decodeEvents(res.result.log, opt);
343
375
  }
344
376
 
345
377
  return res;
346
378
  };
347
379
  /**
348
- * @param {String} address Contract address that emitted event
349
- * @param {BigInt} nameHash Hash of emitted event name
350
- * @param {Object} [options]
351
- * @param {Object} [options.contractAddressToName] Map of contract addresses to their names
352
- * @return {String} Contract name
353
- * @throws {MissingEventDefinitionError}
354
- * @throws {AmbiguousEventDefinitionError}
380
+ * @param address - Contract address that emitted event
381
+ * @param nameHash - Hash of emitted event name
382
+ * @param options - Options
383
+ * @returns Contract name
384
+ * @throws {@link MissingEventDefinitionError}
385
+ * @throws {@link AmbiguousEventDefinitionError}
355
386
  */
356
387
 
357
388
 
358
- function getContractNameByEvent(address, nameHash, _ref2) {
389
+ function getContractNameByEvent(address, nameHash, _ref3) {
359
390
  let {
360
391
  contractAddressToName
361
- } = _ref2;
392
+ } = _ref3;
362
393
  const addressToName = { ...instance.options.contractAddressToName,
363
394
  ...contractAddressToName
364
395
  };
365
- if (addressToName[address]) return addressToName[address];
366
- const matchedEvents = [instance._aci.encoded_aci, ...instance._aci.external_encoded_aci].filter(_ref3 => {
396
+ if (addressToName[address] != null) return addressToName[address];
397
+ const matchedEvents = [instance._aci.encodedAci, ...instance._aci.externalEncodedAci].filter(_ref4 => {
367
398
  let {
368
399
  contract
369
- } = _ref3;
400
+ } = _ref4;
370
401
  return contract === null || contract === void 0 ? void 0 : contract.event;
371
- }).map(_ref4 => {
402
+ }).map(_ref5 => {
372
403
  let {
373
404
  contract
374
- } = _ref4;
405
+ } = _ref5;
375
406
  return [contract.name, contract.event.variant];
376
- }).map(_ref5 => {
377
- let [name, events] = _ref5;
407
+ }).map(_ref6 => {
408
+ let [name, events] = _ref6;
378
409
  return events.map(event => [name, Object.keys(event)[0]]);
379
- }).flat().filter(_ref6 => {
380
- let [, eventName] = _ref6;
381
- return BigInt('0x' + hash(eventName).toString('hex')) === nameHash;
410
+ }).flat().filter(_ref7 => {
411
+ let [, eventName] = _ref7;
412
+ return BigInt(`0x${calcHash(eventName).toString('hex')}`) === nameHash;
382
413
  });
383
414
 
384
415
  switch (matchedEvents.length) {
385
416
  case 0:
386
- throw new MissingEventDefinitionError(nameHash, address);
417
+ throw new MissingEventDefinitionError(nameHash.toString(), address);
387
418
 
388
419
  case 1:
389
420
  return matchedEvents[0][0];
@@ -394,13 +425,9 @@ export default async function getContractInstance() {
394
425
  }
395
426
  /**
396
427
  * Decode Events
397
- * @alias module:@aeternity/aepp-sdk/es/contract/aci
398
- * @rtype (events: Array) => DecodedEvents: Array
399
- * @param {Array} events Array of encoded events (callRes.result.log)
400
- * @param {Object} [options]
401
- * @param {Boolean} [options.omitUnknown] Omit events that can't be decoded in case ACI is not
402
- * complete
403
- * @return {Object} DecodedEvents
428
+ * @param events - Array of encoded events (callRes.result.log)
429
+ * @param options - Options
430
+ * @returns DecodedEvents
404
431
  */
405
432
 
406
433
 
@@ -416,7 +443,7 @@ export default async function getContractInstance() {
416
443
  try {
417
444
  contractName = getContractNameByEvent(event.address, topics[0], opt);
418
445
  } catch (error) {
419
- if (omitUnknown && error instanceof MissingEventDefinitionError) return null;
446
+ if ((omitUnknown !== null && omitUnknown !== void 0 ? omitUnknown : false) && error instanceof MissingEventDefinitionError) return null;
420
447
  throw error;
421
448
  }
422
449
 
@@ -430,27 +457,32 @@ export default async function getContractInstance() {
430
457
  address: event.address
431
458
  }
432
459
  };
433
- }).filter(e => e);
460
+ }).filter(e => e != null);
434
461
  };
435
462
  /**
436
463
  * Generate proto function based on contract function using Contract ACI schema
437
464
  * All function can be called like:
438
- * 'await contract.methods.testFunction()' -> then sdk will decide to use dry-run or send tx
465
+ * ```js
466
+ * await contract.methods.testFunction()
467
+ * ```
468
+ * then sdk will decide to use dry-run or send tx
439
469
  * on-chain base on if function stateful or not.
440
- * Also you can manually do that:
441
- * `await contract.methods.testFunction.get()` -> use call-static(dry-run)
442
- * `await contract.methods.testFunction.send()` -> send tx on-chain
470
+ * Also, you can manually do that:
471
+ * ```js
472
+ * await contract.methods.testFunction.get() // use call-static (dry-run)
473
+ * await contract.methods.testFunction.send() // send tx on-chain
474
+ * ```
443
475
  */
444
476
 
445
477
 
446
- instance.methods = Object.fromEntries(instance._aci.encoded_aci.contract.functions.map(_ref7 => {
478
+ instance.methods = Object.fromEntries(instance._aci.encodedAci.contract.functions.map(_ref8 => {
447
479
  let {
448
480
  name,
449
481
  arguments: aciArgs,
450
482
  stateful
451
- } = _ref7;
483
+ } = _ref8;
452
484
 
453
- const genHandler = callStatic => function () {
485
+ const genHandler = callStatic => async function () {
454
486
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
455
487
  args[_key] = arguments[_key];
456
488
  }