@aeternity/aepp-sdk 11.0.1 → 12.1.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 (444) 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 +20765 -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 +136 -85
  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 +61 -47
  135. package/es/tx/builder/constants.mjs.map +1 -1
  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 -198
  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 -561
  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 -98
  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 +71 -59
  218. package/es/utils/encoder.mjs.map +1 -1
  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 +55 -43
  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 +172 -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 +116 -71
  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/encoder.d.ts +0 -26
  360. package/es/node-pool/index.mjs +0 -188
  361. package/es/node-pool/index.mjs.map +0 -1
  362. package/es/node.mjs +0 -133
  363. package/es/node.mjs.map +0 -1
  364. package/es/other.d.ts +0 -31
  365. package/es/semver-satisfies.d.ts +0 -1
  366. package/es/string.d.ts +0 -26
  367. package/es/tx/builder/field-types.mjs +0 -74
  368. package/es/tx/builder/field-types.mjs.map +0 -1
  369. package/es/tx/tx-object.mjs +0 -283
  370. package/es/tx/tx-object.mjs.map +0 -1
  371. package/es/tx/tx.mjs +0 -938
  372. package/es/tx/tx.mjs.map +0 -1
  373. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
  374. package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
  375. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
  376. package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
  377. package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
  378. package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
  379. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
  380. package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
  381. package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
  382. package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
  383. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
  384. package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
  385. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
  386. package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
  387. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
  388. package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
  389. package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
  390. package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
  391. package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
  392. package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
  393. package/es/utils/async-init.mjs +0 -64
  394. package/es/utils/async-init.mjs.map +0 -1
  395. package/es/utils/crypto-ts.mjs.map +0 -1
  396. package/es/utils/swagger.mjs +0 -164
  397. package/es/utils/swagger.mjs.map +0 -1
  398. package/src/account/base.js +0 -153
  399. package/src/account/memory.js +0 -83
  400. package/src/account/multiple.js +0 -162
  401. package/src/ae/aens.js +0 -361
  402. package/src/ae/aepp.js +0 -45
  403. package/src/ae/contract.js +0 -148
  404. package/src/ae/index.js +0 -168
  405. package/src/ae/oracle.js +0 -311
  406. package/src/ae/universal.js +0 -47
  407. package/src/ae/wallet.js +0 -50
  408. package/src/chain/index.js +0 -269
  409. package/src/chain/node.js +0 -320
  410. package/src/channel/handlers.js +0 -673
  411. package/src/channel/index.js +0 -903
  412. package/src/channel/internal.js +0 -236
  413. package/src/contract/aci.js +0 -376
  414. package/src/contract/compiler.js +0 -100
  415. package/src/contract/ga/helpers.js +0 -19
  416. package/src/contract/ga/index.js +0 -150
  417. package/src/index.js +0 -89
  418. package/src/node-pool/index.js +0 -172
  419. package/src/node.js +0 -116
  420. package/src/tx/builder/constants.js +0 -100
  421. package/src/tx/builder/field-types.js +0 -61
  422. package/src/tx/builder/helpers.js +0 -334
  423. package/src/tx/builder/index.js +0 -465
  424. package/src/tx/builder/schema.js +0 -1100
  425. package/src/tx/index.js +0 -301
  426. package/src/tx/tx-object.js +0 -187
  427. package/src/tx/tx.js +0 -631
  428. package/src/tx/validator.js +0 -181
  429. package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
  430. package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
  431. package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
  432. package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
  433. package/src/utils/aepp-wallet-communication/helpers.js +0 -60
  434. package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
  435. package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
  436. package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
  437. package/src/utils/aepp-wallet-communication/schema.ts +0 -80
  438. package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
  439. package/src/utils/async-init.js +0 -45
  440. package/src/utils/crypto.js +0 -219
  441. package/src/utils/hd-wallet.js +0 -100
  442. package/src/utils/json-big.js +0 -26
  443. package/src/utils/keystore.js +0 -219
  444. package/src/utils/swagger.js +0 -156
package/src/ae/wallet.js DELETED
@@ -1,50 +0,0 @@
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
- * Wallet module
20
- * @module @aeternity/aepp-sdk/es/ae/wallet
21
- * @export Wallet
22
- * @example import { RpcWallet } from '@aeternity/aepp-sdk'
23
- */
24
-
25
- import Ae from './'
26
- import Chain from '../chain/node'
27
- import Tx from '../tx/tx'
28
- import Contract from './contract'
29
- import GeneralizedAccount from '../contract/ga'
30
- import WalletRpc from '../utils/aepp-wallet-communication/rpc/wallet-rpc'
31
- import Oracle from './oracle'
32
- import Aens from './aens'
33
-
34
- /**
35
- * Wallet Stamp
36
- * @function
37
- * @alias module:@aeternity/aepp-sdk/es/ae/wallet
38
- * @rtype Stamp
39
- * @param {Object} [options={}] - Initializer object
40
- * @param {String} options.url - Node instance to connect to
41
- * @param {Account[]} [options.accounts] - Accounts to initialize with
42
- * @param {String} [options.account] - Public key of account to preselect
43
- * @return {Object} Wallet instance
44
- * @example Wallet({
45
- url: 'https://testnet.aeternity.io/',
46
- accounts: [MemoryAccount({keypair})],
47
- address: keypair.publicKey,
48
- })
49
- */
50
- export default Ae.compose(WalletRpc, Tx, Contract, Oracle, Aens, GeneralizedAccount, Chain)
@@ -1,269 +0,0 @@
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
- * Chain module
20
- * @module @aeternity/aepp-sdk/es/chain
21
- * @export Chain
22
- * @example import { Chain } from '@aeternity/aepp-sdk'
23
- */
24
-
25
- import stampit from '@stamp/it'
26
- import { required } from '@stamp/required'
27
-
28
- /**
29
- * Basic Chain Stamp
30
- *
31
- * Attempting to create instances from the Stamp without overwriting all
32
- * abstract methods using composition will result in an exception.
33
- * @function
34
- * @alias module:@aeternity/aepp-sdk/es/chain
35
- * @rtype Stamp
36
- * @param {Object} [options={}] - Initializer object
37
- * @return {Object} Chain instance
38
- */
39
- const Chain = stampit({
40
- deepProps: {
41
- Ae: {
42
- defaults: {
43
- waitMined: true,
44
- verify: true,
45
- _expectedMineRate: 180000,
46
- _microBlockCycle: 3000,
47
- _maxPollInterval: 5000
48
- }
49
- }
50
- },
51
- methods: {
52
- _getPollInterval (type) {
53
- const base = {
54
- block: this.Ae.defaults._expectedMineRate,
55
- microblock: this.Ae.defaults._microBlockCycle
56
- }[type]
57
- if (!base) throw new Error(`Unknown poll type: ${type}`)
58
- return Math.min(base / 3, this.Ae.defaults._maxPollInterval)
59
- }
60
- }
61
- }, required({
62
- methods: {
63
- sendTransaction: required,
64
- height: required,
65
- awaitHeight: required,
66
- poll: required,
67
- balance: required,
68
- getBalance: required,
69
- tx: required,
70
- getTxInfo: required,
71
- mempool: required,
72
- txDryRun: required,
73
- getAccount: required
74
- }
75
- }))
76
-
77
- /**
78
- * Submit a signed transaction for mining
79
- * @function sendTransaction
80
- * @instance
81
- * @abstract
82
- * @category async
83
- * @rtype (tx: String, options?: Object) => tx: Promise[Object]|txHash: Promise[String]
84
- * @param {String} tx - Transaction to submit
85
- * @param {String} [options={}] - Options to pass to the implementation
86
- * @param {String} [options.verify=true] - Verify transaction before broadcast.
87
- * @return {Object} Transaction
88
- */
89
-
90
- /**
91
- * Obtain current height of the chain
92
- * @function height
93
- * @instance
94
- * @abstract
95
- * @category async
96
- * @rtype () => height: Number
97
- * @return {Number} Current chain height
98
- */
99
-
100
- /**
101
- * Wait for the chain to reach a specific height
102
- * @function awaitHeight
103
- * @instance
104
- * @abstract
105
- * @category async
106
- * @rtype (height: Number, options?: Object) => height: Number
107
- * @param {Object} [options={}] - Options
108
- * @param {Number} options.interval - Interval (in ms) at which to poll the chain
109
- * @param {Number} options.attempts - Number of polling attempts after which to fail
110
- * @return {Number} Current chain height
111
- */
112
-
113
- /**
114
- * Wait for a transaction to be mined
115
- * @function poll
116
- * @instance
117
- * @abstract
118
- * @category async
119
- * @rtype (th: String, options?: Object) => tx: Object
120
- * @param {Object} [options={}] - Options
121
- * @param {Number} options.interval - Interval (in ms) at which to poll the chain
122
- * @param {Number} options.blocks - Number of blocks mined after which to fail
123
- * @return {Object} The transaction as it was mined
124
- */
125
-
126
- /**
127
- * Request the balance of specified account
128
- * @function balance
129
- * @instance
130
- * @abstract
131
- * @category async
132
- * @rtype (address: String, options?: Object) => balance: Number
133
- * @param {String} address - The public account address to obtain the balance for
134
- * @param {Object} [options={}] - Options
135
- * @param {Number} options.height - The chain height at which to obtain the balance for (default:
136
- * top of chain)
137
- * @param {String} options.hash - The block hash on which to obtain the balance for (default: top
138
- * of chain)
139
- * @return {Object} The transaction as it was mined
140
- */
141
-
142
- /**
143
- * Obtain a transaction based on its hash
144
- * @function tx
145
- * @instance
146
- * @abstract
147
- * @category async
148
- * @rtype (hash: String, info = false) => tx: Object
149
- * @param {String} hash - Transaction hash
150
- * @param {Boolean} info - Retrieve additional transaction date. Works only for (ContractCreate and
151
- * ContractCall transaction's)
152
- * @return {Object} Transaction
153
- */
154
-
155
- /**
156
- * Obtain a transaction info based on its hash
157
- * @function getTxInfo
158
- * @instance
159
- * @abstract
160
- * @category async
161
- * @rtype (hash: String) => tx: Object
162
- * @param {String} hash - Transaction hash
163
- * @return {Object} Transaction
164
- */
165
-
166
- /**
167
- * Obtain transaction's from mempool
168
- * @function mempool
169
- * @instance
170
- * @abstract
171
- * @category async
172
- * @rtype () => txs: [...Object]
173
- * @return {Object[]} Transactions
174
- */
175
-
176
- /**
177
- * Obtain current generation
178
- * @function getCurrentGeneration
179
- * @instance
180
- * @abstract
181
- * @category async
182
- * @rtype () => generation: Object
183
- * @return {Object} Current Generation
184
- */
185
-
186
- /**
187
- * Get generation by hash or height
188
- * @function getGeneration
189
- * @instance
190
- * @abstract
191
- * @category async
192
- * @rtype (hashOrHeight) => generation: Object
193
- * @param {String|Number} hashOrHeight - Generation hash or height
194
- * @return {Object} Generation
195
- */
196
-
197
- /**
198
- * Wait for transaction confirmation
199
- * @function waitForTxConfirm
200
- * @instance
201
- * @abstract
202
- * @category async
203
- * @rtype (txHash: String, { confirm: Number | Boolean } = { confirm: 3 }) => Promise<Number>
204
- * @param {String} txHash - Transaction hash
205
- * @param {Object} [options] - options
206
- * @param {Number} [options.confirm=3] - Number of blocks to wait for transaction confirmation
207
- * @return {Promise<Number>} Current Height
208
- */
209
-
210
- /**
211
- * Get micro block transactions
212
- * @function getMicroBlockTransactions
213
- * @instance
214
- * @abstract
215
- * @category async
216
- * @rtype (hash) => txs: [...Object]
217
- * @return {Object[]} Transactions
218
- */
219
-
220
- /**
221
- * Get key block
222
- * @function getKeyBlock
223
- * @instance
224
- * @abstract
225
- * @category async
226
- * @rtype (hashOrHeight) => keyBlock: Object
227
- * @return {Object} Key Block
228
- */
229
-
230
- /**
231
- * Get micro block header
232
- * @function getMicroBlockHeader
233
- * @instance
234
- * @abstract
235
- * @category async
236
- * @rtype (hash) => header: Object
237
- * @return {Object} Micro block header
238
- */
239
-
240
- /**
241
- * Get account by account public key
242
- * @function getAccount
243
- * @instance
244
- * @abstract
245
- * @category async
246
- * @rtype (address, { hash, height }) => account: Object
247
- * @param {String} address - Account public key
248
- * @param {Object} [options={}] - Options
249
- * @param {Number} [options.height] - Get account on specific block by block height
250
- * @param {String} [options.hash] - Get account on specific block by block hash
251
- * @return {Object} Account
252
- */
253
-
254
- /**
255
- * Transaction dry-run
256
- * @function txDryRun
257
- * @instance
258
- * @abstract
259
- * @category async
260
- * @rtype (tx, accountAddress, options) => result: Object
261
- * @param {String} tx - transaction to execute
262
- * @param {String} accountAddress - address that will be used to execute transaction
263
- * @param {String|Number} [options.top] - hash of block on which to make dry-run
264
- * @param {Boolean} [options.txEvents] - collect and return on-chain tx events that would result
265
- * from the call
266
- * @return {Object} Result
267
- */
268
-
269
- export default Chain
package/src/chain/node.js DELETED
@@ -1,320 +0,0 @@
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
- import Chain from './'
18
- import { AE_AMOUNT_FORMATS, formatAmount } from '../utils/amount-formatter'
19
- import verifyTransaction from '../tx/validator'
20
- import NodePool from '../node-pool'
21
- import { pause } from '../utils/other'
22
- import { isNameValid, produceNameId, decode } from '../tx/builder/helpers'
23
- import { DRY_RUN_ACCOUNT } from '../tx/builder/schema'
24
- import {
25
- AensPointerContextError,
26
- DryRunError,
27
- InvalidAensNameError,
28
- InvalidTxError,
29
- RequestTimedOutError,
30
- TxTimedOutError,
31
- TxNotInChainError,
32
- ArgumentError
33
- } from '../utils/errors'
34
-
35
- /**
36
- * ChainNode module
37
- *
38
- * This is the complement to {@link module:@aeternity/aepp-sdk/es/chain}.
39
- * @module @aeternity/aepp-sdk/es/chain/node
40
- * @export ChainNode
41
- * @example import { ChainNode } from '@aeternity/aepp-sdk'
42
- */
43
-
44
- async function sendTransaction (tx, options = {}) {
45
- const opt = { ...this.Ae.defaults, ...options }
46
- if (opt.verify) {
47
- const validation = await verifyTransaction(tx, this.selectedNode.instance)
48
- if (validation.length) {
49
- const message = 'Transaction verification errors: ' +
50
- validation.map(v => v.message).join(', ')
51
- throw Object.assign(new InvalidTxError(message), {
52
- code: 'TX_VERIFICATION_ERROR',
53
- validation,
54
- transaction: tx
55
- })
56
- }
57
- }
58
-
59
- try {
60
- const { txHash } = await this.api.postTransaction({ tx }, {
61
- __queue: `tx-${await this.address?.(options).catch(() => '')}`
62
- })
63
-
64
- if (opt.waitMined) {
65
- const txData = { ...await this.poll(txHash, options), rawTx: tx }
66
- // wait for transaction confirmation
67
- if (options.confirm) {
68
- return { ...txData, confirmationHeight: await this.waitForTxConfirm(txHash, options) }
69
- }
70
- return txData
71
- }
72
- return { hash: txHash, rawTx: tx }
73
- } catch (error) {
74
- throw Object.assign(error, {
75
- rawTx: tx,
76
- verifyTx: () => verifyTransaction(tx, this.selectedNode.instance)
77
- })
78
- }
79
- }
80
-
81
- async function waitForTxConfirm (txHash, options = { confirm: 3 }) {
82
- options.confirm = options.confirm === true ? 3 : options.confirm
83
- const { blockHeight } = await this.api.getTransactionByHash(txHash)
84
- const height = await this.awaitHeight(blockHeight + options.confirm, options)
85
- const { blockHeight: newBlockHeight } = await this.api.getTransactionByHash(txHash)
86
- switch (newBlockHeight) {
87
- case -1:
88
- throw new TxNotInChainError(txHash)
89
- case blockHeight:
90
- return height
91
- default:
92
- return waitForTxConfirm(txHash, options)
93
- }
94
- }
95
-
96
- async function getAccount (address, { height, hash } = {}) {
97
- if (height) return this.api.getAccountByPubkeyAndHeight(address, height)
98
- if (hash) return this.api.getAccountByPubkeyAndHash(address, hash)
99
- return this.api.getAccountByPubkey(address)
100
- }
101
-
102
- /**
103
- * @function
104
- * @deprecated
105
- */
106
- async function balance (address, { height, hash, format = AE_AMOUNT_FORMATS.AETTOS } = {}) {
107
- const { balance } = await this.getAccount(address, { hash, height })
108
-
109
- return formatAmount(balance, { targetDenomination: format }).toString()
110
- }
111
-
112
- async function getBalance (address, { height, hash, format = AE_AMOUNT_FORMATS.AETTOS } = {}) {
113
- const { balance } = await this.getAccount(address, { hash, height }).catch(_ => ({ balance: 0 }))
114
-
115
- return formatAmount(balance, { targetDenomination: format }).toString()
116
- }
117
-
118
- /**
119
- * @deprecated use `sdk.api.getTransactionByHash/getTransactionInfoByHash` instead
120
- */
121
- async function tx (hash, info = true) {
122
- const tx = await this.api.getTransactionByHash(hash)
123
- if (['ContractCreateTx', 'ContractCallTx', 'ChannelForceProgressTx'].includes(tx.tx.type) && info && tx.blockHeight !== -1) {
124
- try {
125
- return { ...tx, ...await this.getTxInfo(hash) }
126
- } catch (e) {}
127
- }
128
- return tx
129
- }
130
-
131
- async function height () {
132
- return (await this.api.getCurrentKeyBlockHeight()).height
133
- }
134
-
135
- async function awaitHeight (
136
- height,
137
- { interval = this._getPollInterval('block'), attempts = 20 } = {}
138
- ) {
139
- let currentHeight
140
- for (let i = 0; i < attempts; i++) {
141
- if (i) await pause(interval)
142
- currentHeight = await this.height()
143
- if (currentHeight >= height) return currentHeight
144
- }
145
- throw new RequestTimedOutError((attempts - 1) * interval, currentHeight, height)
146
- }
147
-
148
- async function poll (th, { blocks = 10, interval = this._getPollInterval('microblock') } = {}) {
149
- const max = await this.height() + blocks
150
- do {
151
- const tx = await this.api.getTransactionByHash(th)
152
- if (tx.blockHeight !== -1) return tx
153
- await pause(interval)
154
- } while (await this.height() < max)
155
- const status = this.api.getCheckTxInPool && (await this.api.getCheckTxInPool(th)).status
156
- throw new TxTimedOutError(blocks, th, status)
157
- }
158
-
159
- /**
160
- * @deprecated use `sdk.api.getTransactionInfoByHash` instead
161
- */
162
- async function getTxInfo (hash) {
163
- const result = await this.api.getTransactionInfoByHash(hash)
164
- return result.callInfo || result
165
- }
166
-
167
- async function mempool () {
168
- return this.api.getPendingTransactions()
169
- }
170
-
171
- async function getCurrentGeneration () {
172
- return this.api.getCurrentGeneration()
173
- }
174
-
175
- async function getGeneration (hashOrHeight) {
176
- if (typeof hashOrHeight === 'string') return this.api.getGenerationByHash(hashOrHeight)
177
- if (typeof hashOrHeight === 'number') return this.api.getGenerationByHeight(hashOrHeight)
178
- throw new ArgumentError('hashOrHeight', 'a string or number', hashOrHeight)
179
- }
180
-
181
- async function getMicroBlockTransactions (hash) {
182
- return (await this.api.getMicroBlockTransactionsByHash(hash)).transactions
183
- }
184
-
185
- async function getKeyBlock (hashOrHeight) {
186
- if (typeof hashOrHeight === 'string') return this.api.getKeyBlockByHash(hashOrHeight)
187
- if (typeof hashOrHeight === 'number') return this.api.getKeyBlockByHeight(hashOrHeight)
188
- throw new ArgumentError('hashOrHeight', 'a string or number', hashOrHeight)
189
- }
190
-
191
- async function getMicroBlockHeader (hash) {
192
- return this.api.getMicroBlockHeaderByHash(hash)
193
- }
194
-
195
- async function txDryRunHandler (key) {
196
- const rs = this._txDryRun[key]
197
- delete this._txDryRun[key]
198
-
199
- let dryRunRes
200
- try {
201
- dryRunRes = await this.api.protectedDryRunTxs({
202
- top: rs[0].top,
203
- txEvents: rs[0].txEvents,
204
- txs: rs.map(req => ({ tx: req.tx })),
205
- accounts: Array.from(new Set(rs.map(req => req.accountAddress)))
206
- .map(pubKey => ({ pubKey, amount: DRY_RUN_ACCOUNT.amount }))
207
- })
208
- } catch (error) {
209
- rs.forEach(({ reject }) => reject(error))
210
- return
211
- }
212
-
213
- const { results, txEvents } = dryRunRes
214
- results.forEach(({ result, reason, ...resultPayload }, idx) => {
215
- const { resolve, reject, tx, options, accountAddress } = rs[idx]
216
- if (result === 'ok') return resolve({ ...resultPayload, txEvents })
217
- reject(Object.assign(
218
- new DryRunError(reason), { tx, accountAddress, options }
219
- ))
220
- })
221
- }
222
-
223
- async function txDryRun (tx, accountAddress, { top, txEvents, combine }) {
224
- const key = combine ? [top, txEvents].join() : 'immediate'
225
- this._txDryRun ??= {}
226
- this._txDryRun[key] ??= []
227
- return new Promise((resolve, reject) => {
228
- this._txDryRun[key].push({ tx, accountAddress, top, txEvents, resolve, reject })
229
- if (!combine) {
230
- txDryRunHandler.call(this, key)
231
- return
232
- }
233
- this._txDryRun[key].timeout ??= setTimeout(txDryRunHandler.bind(this, key))
234
- })
235
- }
236
-
237
- async function getContractByteCode (contractId) {
238
- return this.api.getContractCode(contractId)
239
- }
240
-
241
- async function getContract (contractId) {
242
- return this.api.getContract(contractId)
243
- }
244
-
245
- async function getName (name) {
246
- return this.api.getNameEntryByName(name)
247
- }
248
-
249
- /**
250
- * Resolve AENS name and return name hash
251
- * @param {String} nameOrId
252
- * @param {String} key in AENS pointers record
253
- * @param {Object} [options]
254
- * @param {Boolean} [options.verify] To ensure that name exist and have a corresponding pointer
255
- * // TODO: avoid that to don't trust to current api gateway
256
- * @param {Boolean} [options.resolveByNode] Enables pointer resolving using node
257
- * @return {String} Address or AENS name hash
258
- */
259
- async function resolveName (nameOrId, key, { verify, resolveByNode } = {}) {
260
- if (!nameOrId || typeof nameOrId !== 'string') {
261
- throw new InvalidAensNameError(`Name or address should be a string: ${nameOrId}`)
262
- }
263
- try {
264
- decode(nameOrId)
265
- return nameOrId
266
- } catch (error) {}
267
- if (isNameValid(nameOrId)) {
268
- if (verify || resolveByNode) {
269
- const name = await this.api.getNameEntryByName(nameOrId)
270
- const pointer = name.pointers.find(pointer => pointer.key === key)
271
- if (!pointer) {
272
- throw new AensPointerContextError(`Name ${nameOrId} don't have pointers for ${key}`)
273
- }
274
- if (resolveByNode) return pointer.id
275
- }
276
- return produceNameId(nameOrId)
277
- }
278
- throw new InvalidAensNameError(`Invalid name or address: ${nameOrId}`)
279
- }
280
-
281
- /**
282
- * ChainNode Stamp
283
- *
284
- * This is implementation of {@link module:@aeternity/aepp-sdk/es/chain--Chain}
285
- * composed with {@link module:@aeternity/aepp-sdk/es/contract/node--ContractNodeAPI} and
286
- * {@link module:@aeternity/aepp-sdk/es/oracle/node--OracleNodeAPI}
287
- * @function
288
- * @alias module:@aeternity/aepp-sdk/es/chain/node
289
- * @rtype Stamp
290
- * @param {Object} [options={}] - Initializer object
291
- * @return {Object} ChainNode instance
292
- * @example ChainNode({url: 'https://testnet.aeternity.io/'})
293
- */
294
- const ChainNode = Chain.compose(NodePool, {
295
- methods: {
296
- sendTransaction,
297
- balance,
298
- getBalance,
299
- getAccount,
300
- tx,
301
- height,
302
- awaitHeight,
303
- poll,
304
- getTxInfo,
305
- mempool,
306
- getCurrentGeneration,
307
- getGeneration,
308
- getMicroBlockHeader,
309
- getMicroBlockTransactions,
310
- getKeyBlock,
311
- txDryRun,
312
- getContractByteCode,
313
- getContract,
314
- getName,
315
- waitForTxConfirm,
316
- resolveName
317
- }
318
- })
319
-
320
- export default ChainNode