@aeternity/aepp-sdk 12.1.3 → 13.0.0-alpha.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 (565) hide show
  1. package/bin/aesophia_cli +0 -0
  2. package/dist/aepp-sdk.browser-script.js +1 -1
  3. package/dist/aepp-sdk.browser-script.js.map +1 -1
  4. package/dist/aepp-sdk.browser.js +1 -1
  5. package/dist/aepp-sdk.browser.js.map +1 -1
  6. package/dist/aepp-sdk.js +12031 -11231
  7. package/dist/aepp-sdk.js.map +1 -1
  8. package/es/AeSdk.d.ts +7 -3
  9. package/es/AeSdk.mjs +17 -22
  10. package/es/AeSdk.mjs.map +1 -1
  11. package/es/AeSdkAepp.d.ts +6 -5
  12. package/es/AeSdkAepp.mjs +7 -30
  13. package/es/AeSdkAepp.mjs.map +1 -1
  14. package/es/AeSdkBase.d.ts +18 -140
  15. package/es/AeSdkBase.mjs +30 -184
  16. package/es/AeSdkBase.mjs.map +1 -1
  17. package/es/AeSdkMethods.d.ts +123 -0
  18. package/es/AeSdkMethods.mjs +122 -0
  19. package/es/AeSdkMethods.mjs.map +1 -0
  20. package/es/AeSdkWallet.d.ts +7 -21
  21. package/es/AeSdkWallet.mjs +38 -86
  22. package/es/AeSdkWallet.mjs.map +1 -1
  23. package/es/Node.d.ts +11 -15
  24. package/es/Node.mjs +35 -48
  25. package/es/Node.mjs.map +1 -1
  26. package/es/account/Base.d.ts +24 -40
  27. package/es/account/Base.mjs +1 -101
  28. package/es/account/Base.mjs.map +1 -1
  29. package/es/account/Generalized.d.ts +16 -0
  30. package/es/account/Generalized.mjs +113 -0
  31. package/es/account/Generalized.mjs.map +1 -0
  32. package/es/account/Ledger.d.ts +28 -0
  33. package/es/account/Ledger.mjs +102 -0
  34. package/es/account/Ledger.mjs.map +1 -0
  35. package/es/account/LedgerFactory.d.ts +39 -0
  36. package/es/account/LedgerFactory.mjs +81 -0
  37. package/es/account/LedgerFactory.mjs.map +1 -0
  38. package/es/account/Memory.d.ts +13 -17
  39. package/es/account/Memory.mjs +43 -64
  40. package/es/account/Memory.mjs.map +1 -1
  41. package/es/account/Rpc.d.ts +6 -8
  42. package/es/account/Rpc.mjs +14 -32
  43. package/es/account/Rpc.mjs.map +1 -1
  44. package/es/aens.d.ts +4 -4
  45. package/es/aens.mjs +46 -41
  46. package/es/aens.mjs.map +1 -1
  47. package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
  48. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  49. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
  50. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +22 -11
  51. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  52. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
  53. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
  54. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  55. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  56. package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
  57. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -42
  58. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  59. package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
  60. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  61. package/es/aepp-wallet-communication/schema.mjs +14 -68
  62. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  63. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
  64. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  65. package/es/apis/compiler/compiler.d.ts +23 -29
  66. package/es/apis/compiler/compiler.mjs +128 -189
  67. package/es/apis/compiler/compiler.mjs.map +1 -1
  68. package/es/apis/compiler/index.mjs.map +1 -1
  69. package/es/apis/compiler/models/index.d.ts +82 -135
  70. package/es/apis/compiler/models/index.mjs +1 -47
  71. package/es/apis/compiler/models/index.mjs.map +1 -1
  72. package/es/apis/compiler/models/mappers.d.ts +8 -8
  73. package/es/apis/compiler/models/mappers.mjs +165 -183
  74. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  75. package/es/apis/compiler/models/parameters.d.ts +0 -1
  76. package/es/apis/compiler/models/parameters.mjs +5 -9
  77. package/es/apis/compiler/models/parameters.mjs.map +1 -1
  78. package/es/apis/node/index.mjs.map +1 -1
  79. package/es/apis/node/models/index.d.ts +48 -48
  80. package/es/apis/node/models/mappers.mjs +12 -6
  81. package/es/apis/node/models/mappers.mjs.map +1 -1
  82. package/es/apis/node/models/parameters.mjs.map +1 -1
  83. package/es/apis/node/node.mjs +43 -84
  84. package/es/apis/node/node.mjs.map +1 -1
  85. package/es/chain.d.ts +10 -2
  86. package/es/chain.mjs +37 -59
  87. package/es/chain.mjs.map +1 -1
  88. package/es/channel/Base.d.ts +200 -0
  89. package/es/channel/Base.mjs +293 -0
  90. package/es/channel/Base.mjs.map +1 -0
  91. package/es/channel/Contract.d.ts +248 -0
  92. package/es/channel/Contract.mjs +420 -0
  93. package/es/channel/Contract.mjs.map +1 -0
  94. package/es/channel/Spend.d.ts +219 -0
  95. package/es/channel/Spend.mjs +385 -0
  96. package/es/channel/Spend.mjs.map +1 -0
  97. package/es/channel/handlers.d.ts +8 -21
  98. package/es/channel/handlers.mjs +151 -899
  99. package/es/channel/handlers.mjs.map +1 -1
  100. package/es/channel/internal.d.ts +27 -21
  101. package/es/channel/internal.mjs +101 -191
  102. package/es/channel/internal.mjs.map +1 -1
  103. package/es/contract/Contract.d.ts +210 -0
  104. package/es/contract/Contract.mjs +551 -0
  105. package/es/contract/Contract.mjs.map +1 -0
  106. package/es/contract/compiler/Base.d.ts +81 -0
  107. package/es/contract/compiler/Base.mjs +5 -0
  108. package/es/contract/compiler/Base.mjs.map +1 -0
  109. package/es/contract/compiler/Cli.d.ts +23 -0
  110. package/es/contract/compiler/Cli.mjs +155 -0
  111. package/es/contract/compiler/Cli.mjs.map +1 -0
  112. package/es/contract/compiler/Http.d.ts +32 -0
  113. package/es/contract/compiler/Http.mjs +118 -0
  114. package/es/contract/compiler/Http.mjs.map +1 -0
  115. package/es/contract/compiler/HttpNode.d.ts +17 -0
  116. package/es/contract/compiler/HttpNode.mjs +26 -0
  117. package/es/contract/compiler/HttpNode.mjs.map +1 -0
  118. package/es/contract/compiler/getFileSystem.d.ts +6 -0
  119. package/es/contract/compiler/getFileSystem.mjs +40 -0
  120. package/es/contract/compiler/getFileSystem.mjs.map +1 -0
  121. package/es/contract/ga.d.ts +9 -34
  122. package/es/contract/ga.mjs +29 -112
  123. package/es/contract/ga.mjs.map +1 -1
  124. package/es/index-browser.d.ts +39 -0
  125. package/es/index-browser.mjs +55 -0
  126. package/es/index-browser.mjs.map +1 -0
  127. package/es/index.d.ts +4 -35
  128. package/es/index.mjs +4 -51
  129. package/es/index.mjs.map +1 -1
  130. package/es/oracle.d.ts +5 -5
  131. package/es/oracle.mjs +34 -40
  132. package/es/oracle.mjs.map +1 -1
  133. package/es/spend.d.ts +3 -3
  134. package/es/spend.mjs +18 -23
  135. package/es/spend.mjs.map +1 -1
  136. package/es/tx/builder/constants.d.ts +30 -2
  137. package/es/tx/builder/constants.mjs +43 -14
  138. package/es/tx/builder/constants.mjs.map +1 -1
  139. package/es/tx/builder/field-types/abi-version.d.ts +10 -0
  140. package/es/tx/builder/field-types/abi-version.mjs +20 -0
  141. package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
  142. package/es/tx/builder/field-types/address.d.ts +14 -0
  143. package/es/tx/builder/field-types/address.mjs +51 -0
  144. package/es/tx/builder/field-types/address.mjs.map +1 -0
  145. package/es/tx/builder/field-types/array.d.ts +7 -0
  146. package/es/tx/builder/field-types/array.mjs +11 -0
  147. package/es/tx/builder/field-types/array.mjs.map +1 -0
  148. package/es/tx/builder/field-types/boolean.d.ts +6 -0
  149. package/es/tx/builder/field-types/boolean.mjs +13 -0
  150. package/es/tx/builder/field-types/boolean.mjs.map +1 -0
  151. package/es/tx/builder/field-types/coin-amount.d.ts +2 -3
  152. package/es/tx/builder/field-types/coin-amount.mjs +4 -12
  153. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  154. package/es/tx/builder/field-types/ct-version.d.ts +30 -0
  155. package/es/tx/builder/field-types/ct-version.mjs +48 -0
  156. package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
  157. package/es/tx/builder/field-types/deposit.d.ts +1 -2
  158. package/es/tx/builder/field-types/deposit.mjs +2 -4
  159. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  160. package/es/tx/builder/field-types/encoded.d.ts +6 -0
  161. package/es/tx/builder/field-types/encoded.mjs +21 -0
  162. package/es/tx/builder/field-types/encoded.mjs.map +1 -0
  163. package/es/tx/builder/field-types/entry.d.ts +11 -0
  164. package/es/tx/builder/field-types/entry.mjs +31 -0
  165. package/es/tx/builder/field-types/entry.mjs.map +1 -0
  166. package/es/tx/builder/field-types/enumeration.d.ts +7 -0
  167. package/es/tx/builder/field-types/enumeration.mjs +30 -0
  168. package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
  169. package/es/tx/builder/field-types/fee.d.ts +10 -15
  170. package/es/tx/builder/field-types/fee.mjs +31 -43
  171. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  172. package/es/tx/builder/field-types/field.mjs +0 -2
  173. package/es/tx/builder/field-types/field.mjs.map +1 -1
  174. package/es/tx/builder/field-types/gas-limit.d.ts +5 -2
  175. package/es/tx/builder/field-types/gas-limit.mjs +12 -14
  176. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  177. package/es/tx/builder/field-types/gas-price.d.ts +1 -2
  178. package/es/tx/builder/field-types/gas-price.mjs +3 -7
  179. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  180. package/es/tx/builder/field-types/index.d.ts +80 -30
  181. package/es/tx/builder/field-types/index.mjs +34 -9
  182. package/es/tx/builder/field-types/index.mjs.map +1 -1
  183. package/es/tx/builder/field-types/mptree.d.ts +37 -0
  184. package/es/tx/builder/field-types/mptree.mjs +268 -0
  185. package/es/tx/builder/field-types/mptree.mjs.map +1 -0
  186. package/es/tx/builder/field-types/name-fee.d.ts +1 -3
  187. package/es/tx/builder/field-types/name-fee.mjs +3 -5
  188. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  189. package/es/tx/builder/field-types/name-id.d.ts +1 -4
  190. package/es/tx/builder/field-types/name-id.mjs +5 -10
  191. package/es/tx/builder/field-types/name-id.mjs.map +1 -1
  192. package/es/tx/builder/field-types/name.mjs +0 -2
  193. package/es/tx/builder/field-types/name.mjs.map +1 -1
  194. package/es/tx/builder/field-types/pointers.d.ts +23 -0
  195. package/es/tx/builder/field-types/pointers.mjs +36 -0
  196. package/es/tx/builder/field-types/pointers.mjs.map +1 -0
  197. package/es/tx/builder/field-types/raw.d.ts +6 -0
  198. package/es/tx/builder/field-types/raw.mjs +13 -0
  199. package/es/tx/builder/field-types/raw.mjs.map +1 -0
  200. package/es/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  201. package/es/tx/builder/field-types/short-u-int-const.mjs +16 -0
  202. package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
  203. package/es/tx/builder/field-types/short-u-int.mjs +0 -2
  204. package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
  205. package/es/tx/builder/field-types/string.d.ts +6 -0
  206. package/es/tx/builder/field-types/string.mjs +10 -0
  207. package/es/tx/builder/field-types/string.mjs.map +1 -0
  208. package/es/tx/builder/field-types/u-int.d.ts +1 -2
  209. package/es/tx/builder/field-types/u-int.mjs +3 -4
  210. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  211. package/es/tx/builder/helpers.d.ts +2 -32
  212. package/es/tx/builder/helpers.mjs +19 -71
  213. package/es/tx/builder/helpers.mjs.map +1 -1
  214. package/es/tx/builder/index.d.ts +11 -49
  215. package/es/tx/builder/index.mjs +57 -337
  216. package/es/tx/builder/index.mjs.map +1 -1
  217. package/es/tx/builder/schema.d.ts +2367 -667
  218. package/es/tx/builder/schema.mjs +70 -145
  219. package/es/tx/builder/schema.mjs.map +1 -1
  220. package/es/tx/index.d.ts +4 -49
  221. package/es/tx/index.mjs +38 -112
  222. package/es/tx/index.mjs.map +1 -1
  223. package/es/tx/validator.d.ts +4 -6
  224. package/es/tx/validator.mjs +104 -90
  225. package/es/tx/validator.mjs.map +1 -1
  226. package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
  227. package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
  228. package/es/utils/amount-formatter.mjs +4 -10
  229. package/es/utils/amount-formatter.mjs.map +1 -1
  230. package/es/utils/autorest.d.ts +1 -0
  231. package/es/utils/autorest.mjs +17 -19
  232. package/es/utils/autorest.mjs.map +1 -1
  233. package/es/utils/bignumber.mjs +4 -7
  234. package/es/utils/bignumber.mjs.map +1 -1
  235. package/es/utils/bytes.d.ts +0 -17
  236. package/es/utils/bytes.mjs +6 -35
  237. package/es/utils/bytes.mjs.map +1 -1
  238. package/es/utils/crypto.d.ts +15 -8
  239. package/es/utils/crypto.mjs +40 -40
  240. package/es/utils/crypto.mjs.map +1 -1
  241. package/es/utils/encoder-types.d.ts +28 -28
  242. package/es/utils/encoder-types.mjs +0 -1
  243. package/es/utils/encoder-types.mjs.map +1 -1
  244. package/es/utils/encoder.d.ts +0 -1
  245. package/es/utils/encoder.mjs +7 -15
  246. package/es/utils/encoder.mjs.map +1 -1
  247. package/es/utils/errors.d.ts +15 -14
  248. package/es/utils/errors.mjs +86 -172
  249. package/es/utils/errors.mjs.map +1 -1
  250. package/es/utils/hd-wallet.d.ts +27 -19
  251. package/es/utils/hd-wallet.mjs +42 -26
  252. package/es/utils/hd-wallet.mjs.map +1 -1
  253. package/es/utils/json-big.mjs +0 -8
  254. package/es/utils/json-big.mjs.map +1 -1
  255. package/es/utils/keystore.d.ts +2 -0
  256. package/es/utils/keystore.mjs +37 -36
  257. package/es/utils/keystore.mjs.map +1 -1
  258. package/es/utils/other.d.ts +4 -2
  259. package/es/utils/other.mjs +11 -7
  260. package/es/utils/other.mjs.map +1 -1
  261. package/es/utils/semver-satisfies.mjs +0 -3
  262. package/es/utils/semver-satisfies.mjs.map +1 -1
  263. package/es/utils/string.d.ts +0 -12
  264. package/es/utils/string.mjs +1 -21
  265. package/es/utils/string.mjs.map +1 -1
  266. package/package.json +98 -51
  267. package/src/AeSdk.ts +15 -11
  268. package/src/AeSdkAepp.ts +9 -7
  269. package/src/AeSdkBase.ts +31 -202
  270. package/src/AeSdkMethods.ts +169 -0
  271. package/src/AeSdkWallet.ts +16 -47
  272. package/src/Node.ts +17 -18
  273. package/src/account/Base.ts +29 -75
  274. package/src/account/Generalized.ts +98 -0
  275. package/src/account/Ledger.ts +131 -0
  276. package/src/account/LedgerFactory.ts +86 -0
  277. package/src/account/Memory.ts +46 -60
  278. package/src/account/Rpc.ts +17 -26
  279. package/src/aens.ts +13 -11
  280. package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +21 -9
  281. package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
  282. package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -4
  283. package/src/aepp-wallet-communication/rpc/types.ts +11 -1
  284. package/src/aepp-wallet-communication/schema.ts +18 -18
  285. package/src/apis/compiler/code-model-v4.yaml +681 -888
  286. package/src/apis/compiler/compiler.ts +113 -154
  287. package/src/apis/compiler/models/index.ts +80 -140
  288. package/src/apis/compiler/models/mappers.ts +165 -183
  289. package/src/apis/compiler/models/parameters.ts +6 -12
  290. package/src/chain.ts +11 -6
  291. package/src/channel/Base.ts +335 -0
  292. package/src/channel/Contract.ts +488 -0
  293. package/src/channel/Spend.ts +408 -0
  294. package/src/channel/handlers.ts +164 -582
  295. package/src/channel/internal.ts +114 -143
  296. package/src/contract/Contract.ts +610 -0
  297. package/src/contract/compiler/Base.ts +94 -0
  298. package/src/contract/compiler/Cli.ts +134 -0
  299. package/src/contract/compiler/Http.ts +124 -0
  300. package/src/contract/compiler/HttpNode.ts +26 -0
  301. package/src/contract/compiler/getFileSystem.ts +42 -0
  302. package/src/contract/ga.ts +23 -106
  303. package/src/index-browser.ts +58 -0
  304. package/src/index.ts +4 -55
  305. package/src/oracle.ts +8 -8
  306. package/src/spend.ts +6 -14
  307. package/src/tx/builder/constants.ts +33 -3
  308. package/src/tx/builder/field-types/abi-version.ts +21 -0
  309. package/src/tx/builder/field-types/address.ts +62 -0
  310. package/src/tx/builder/field-types/array.ts +19 -0
  311. package/src/tx/builder/field-types/boolean.ts +9 -0
  312. package/src/tx/builder/field-types/coin-amount.ts +4 -9
  313. package/src/tx/builder/field-types/ct-version.ts +50 -0
  314. package/src/tx/builder/field-types/deposit.ts +1 -1
  315. package/src/tx/builder/field-types/encoded.ts +27 -0
  316. package/src/tx/builder/field-types/entry.ts +31 -0
  317. package/src/tx/builder/field-types/enumeration.ts +32 -0
  318. package/src/tx/builder/field-types/fee.ts +39 -21
  319. package/src/tx/builder/field-types/gas-limit.ts +13 -8
  320. package/src/tx/builder/field-types/gas-price.ts +0 -2
  321. package/src/tx/builder/field-types/index.ts +54 -15
  322. package/src/tx/builder/field-types/mptree.ts +242 -0
  323. package/src/tx/builder/field-types/name-fee.ts +2 -3
  324. package/src/tx/builder/field-types/name-id.ts +7 -10
  325. package/src/tx/builder/field-types/pointers.ts +41 -0
  326. package/src/tx/builder/field-types/raw.ts +9 -0
  327. package/src/tx/builder/field-types/short-u-int-const.ts +20 -0
  328. package/src/tx/builder/field-types/string.ts +11 -0
  329. package/src/tx/builder/field-types/u-int.ts +4 -5
  330. package/src/tx/builder/helpers.ts +10 -60
  331. package/src/tx/builder/index.ts +65 -308
  332. package/src/tx/builder/schema.ts +280 -341
  333. package/src/tx/index.ts +40 -103
  334. package/src/tx/validator.ts +91 -96
  335. package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
  336. package/src/utils/autorest.ts +16 -1
  337. package/src/utils/bytes.ts +6 -34
  338. package/src/utils/crypto.ts +23 -16
  339. package/src/utils/encoder.ts +0 -1
  340. package/src/utils/errors.ts +22 -25
  341. package/src/utils/hd-wallet.ts +30 -9
  342. package/src/utils/keystore.ts +24 -21
  343. package/src/utils/other.ts +16 -1
  344. package/src/utils/string.ts +0 -20
  345. package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
  346. package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
  347. package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
  348. package/types-legacy/ts4.2/AeSdkMethods.d.ts +140 -0
  349. package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
  350. package/types-legacy/ts4.2/Node.d.ts +78 -0
  351. package/types-legacy/ts4.2/account/Base.d.ts +52 -0
  352. package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
  353. package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
  354. package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
  355. package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
  356. package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
  357. package/types-legacy/ts4.2/aens.d.ts +222 -0
  358. package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  359. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
  360. package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  361. package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  362. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  363. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
  364. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
  365. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  366. package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
  367. package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
  368. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
  369. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
  370. package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
  371. package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
  372. package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
  373. package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
  374. package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
  375. package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
  376. package/types-legacy/ts4.2/chain.d.ts +256 -0
  377. package/types-legacy/ts4.2/channel/Base.d.ts +199 -0
  378. package/types-legacy/ts4.2/channel/Contract.d.ts +248 -0
  379. package/types-legacy/ts4.2/channel/Spend.d.ts +219 -0
  380. package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
  381. package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
  382. package/types-legacy/ts4.2/contract/Contract.d.ts +212 -0
  383. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +81 -0
  384. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
  385. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
  386. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
  387. package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
  388. package/types-legacy/ts4.2/contract/ga.d.ts +44 -0
  389. package/types-legacy/ts4.2/globals.d.ts +16 -0
  390. package/types-legacy/ts4.2/index-browser.d.ts +39 -0
  391. package/types-legacy/ts4.2/index.d.ts +5 -0
  392. package/types-legacy/ts4.2/oracle.d.ts +161 -0
  393. package/types-legacy/ts4.2/spend.d.ts +62 -0
  394. package/types-legacy/ts4.2/tx/builder/constants.d.ts +98 -0
  395. package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +10 -0
  396. package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +21 -0
  397. package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
  398. package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
  399. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
  400. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +42 -0
  401. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
  402. package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
  403. package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
  404. package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +7 -0
  405. package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +20 -0
  406. package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
  407. package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +15 -0
  408. package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
  409. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +129 -0
  410. package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +43 -0
  411. package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +18 -0
  412. package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
  413. package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
  414. package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
  415. package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
  416. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  417. package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
  418. package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
  419. package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +7 -0
  420. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
  421. package/types-legacy/ts4.2/tx/builder/index.d.ts +50 -0
  422. package/types-legacy/ts4.2/tx/builder/schema.d.ts +4675 -0
  423. package/types-legacy/ts4.2/tx/index.d.ts +19 -0
  424. package/types-legacy/ts4.2/tx/validator.d.ts +18 -0
  425. package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
  426. package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
  427. package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
  428. package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
  429. package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
  430. package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
  431. package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
  432. package/types-legacy/ts4.2/utils/errors.d.ts +475 -0
  433. package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
  434. package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
  435. package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
  436. package/types-legacy/ts4.2/utils/other.d.ts +31 -0
  437. package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
  438. package/types-legacy/ts4.2/utils/string.d.ts +12 -0
  439. package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
  440. package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
  441. package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
  442. package/types-legacy/ts4.5/AeSdkMethods.d.ts +140 -0
  443. package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
  444. package/types-legacy/ts4.5/Node.d.ts +78 -0
  445. package/types-legacy/ts4.5/account/Base.d.ts +52 -0
  446. package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
  447. package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
  448. package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
  449. package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
  450. package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
  451. package/types-legacy/ts4.5/aens.d.ts +222 -0
  452. package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
  453. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
  454. package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
  455. package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
  456. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
  457. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
  458. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
  459. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
  460. package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
  461. package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
  462. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
  463. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
  464. package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
  465. package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
  466. package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
  467. package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
  468. package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
  469. package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
  470. package/types-legacy/ts4.5/chain.d.ts +256 -0
  471. package/types-legacy/ts4.5/channel/Base.d.ts +199 -0
  472. package/types-legacy/ts4.5/channel/Contract.d.ts +248 -0
  473. package/types-legacy/ts4.5/channel/Spend.d.ts +219 -0
  474. package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
  475. package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
  476. package/types-legacy/ts4.5/contract/Contract.d.ts +212 -0
  477. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +81 -0
  478. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
  479. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
  480. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
  481. package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
  482. package/types-legacy/ts4.5/contract/ga.d.ts +44 -0
  483. package/types-legacy/ts4.5/index-browser.d.ts +39 -0
  484. package/types-legacy/ts4.5/index.d.ts +4 -0
  485. package/types-legacy/ts4.5/oracle.d.ts +161 -0
  486. package/types-legacy/ts4.5/spend.d.ts +62 -0
  487. package/types-legacy/ts4.5/tx/builder/constants.d.ts +98 -0
  488. package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +10 -0
  489. package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +21 -0
  490. package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
  491. package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
  492. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
  493. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +42 -0
  494. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
  495. package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
  496. package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
  497. package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +7 -0
  498. package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +20 -0
  499. package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
  500. package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +15 -0
  501. package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
  502. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +129 -0
  503. package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +43 -0
  504. package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +18 -0
  505. package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
  506. package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
  507. package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
  508. package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
  509. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +5 -0
  510. package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
  511. package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
  512. package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +7 -0
  513. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
  514. package/types-legacy/ts4.5/tx/builder/index.d.ts +50 -0
  515. package/types-legacy/ts4.5/tx/builder/schema.d.ts +4675 -0
  516. package/types-legacy/ts4.5/tx/index.d.ts +19 -0
  517. package/types-legacy/ts4.5/tx/validator.d.ts +18 -0
  518. package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
  519. package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
  520. package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
  521. package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
  522. package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
  523. package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
  524. package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
  525. package/types-legacy/ts4.5/utils/errors.d.ts +475 -0
  526. package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
  527. package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
  528. package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
  529. package/types-legacy/ts4.5/utils/other.d.ts +31 -0
  530. package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
  531. package/types-legacy/ts4.5/utils/string.d.ts +12 -0
  532. package/es/channel/index.d.ts +0 -625
  533. package/es/channel/index.mjs +0 -975
  534. package/es/channel/index.mjs.map +0 -1
  535. package/es/contract/Compiler.d.ts +0 -18
  536. package/es/contract/Compiler.mjs +0 -68
  537. package/es/contract/Compiler.mjs.map +0 -1
  538. package/es/contract/aci.d.ts +0 -127
  539. package/es/contract/aci.mjs +0 -508
  540. package/es/contract/aci.mjs.map +0 -1
  541. package/es/contract/methods.d.ts +0 -71
  542. package/es/contract/methods.mjs +0 -104
  543. package/es/contract/methods.mjs.map +0 -1
  544. package/es/deprecated/index.d.ts +0 -143
  545. package/es/deprecated/index.mjs +0 -162
  546. package/es/deprecated/index.mjs.map +0 -1
  547. package/es/deprecated/methods.d.ts +0 -18
  548. package/es/deprecated/methods.mjs +0 -26
  549. package/es/deprecated/methods.mjs.map +0 -1
  550. package/es/tx/builder/address.d.ts +0 -25
  551. package/es/tx/builder/address.mjs +0 -45
  552. package/es/tx/builder/address.mjs.map +0 -1
  553. package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
  554. package/es/utils/mptree.d.ts +0 -26
  555. package/es/utils/mptree.mjs +0 -165
  556. package/es/utils/mptree.mjs.map +0 -1
  557. package/src/channel/index.ts +0 -1025
  558. package/src/contract/Compiler.ts +0 -67
  559. package/src/contract/aci.ts +0 -537
  560. package/src/contract/methods.ts +0 -123
  561. package/src/deprecated/index.ts +0 -172
  562. package/src/deprecated/methods.ts +0 -25
  563. package/src/tx/builder/address.ts +0 -50
  564. package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
  565. package/src/utils/mptree.ts +0 -145
@@ -18,7 +18,6 @@ export { Encoded, Encoding };
18
18
  * Calculate SHA256 hash of `input`
19
19
  * @param input - Data to hash
20
20
  * @returns Hash
21
- * @deprecated use `SubtleCrypto.digest` or `sha.js` package instead
22
21
  */
23
22
  export function sha256hash(input: Uint8Array | string): Buffer {
24
23
  return new Sha256().update(input).digest();
@@ -1,5 +1,6 @@
1
1
  // eslint-disable-next-line max-classes-per-file
2
2
  import BigNumber from 'bignumber.js';
3
+ import { Int } from '../tx/builder/constants';
3
4
 
4
5
  /**
5
6
  * aepp-sdk originated error
@@ -116,8 +117,8 @@ export class WalletError extends BaseError {
116
117
  * @category exception
117
118
  */
118
119
  export class ArgumentError extends BaseError {
119
- constructor(argumentName: string, requirement: string, argumentValue: any) {
120
- super(`${argumentName} should be ${requirement}, got ${String(argumentValue)} instead`);
120
+ constructor(argumentName: string, requirement: unknown, argumentValue: unknown) {
121
+ super(`${argumentName} should be ${requirement}, got ${argumentValue} instead`);
121
122
  this.name = 'ArgumentError';
122
123
  }
123
124
  }
@@ -265,16 +266,6 @@ export class UnexpectedTsError extends InternalError {
265
266
  }
266
267
  }
267
268
 
268
- /**
269
- * @category exception
270
- */
271
- export class InvalidKeypairError extends AccountError {
272
- constructor(message: string) {
273
- super(message);
274
- this.name = 'InvalidKeypairError';
275
- }
276
- }
277
-
278
269
  /**
279
270
  * @category exception
280
271
  */
@@ -405,6 +396,22 @@ export class UnexpectedChannelMessageError extends ChannelError {
405
396
  }
406
397
  }
407
398
 
399
+ /**
400
+ * @category exception
401
+ */
402
+ export class ChannelIncomingMessageError extends ChannelError {
403
+ handlerError: BaseError;
404
+
405
+ incomingMessage: { [key: string]: any };
406
+
407
+ constructor(handlerError: BaseError, incomingMessage: { [key: string]: any }) {
408
+ super(handlerError.message);
409
+ this.handlerError = handlerError;
410
+ this.incomingMessage = incomingMessage;
411
+ this.name = 'ChannelIncomingMessageError';
412
+ }
413
+ }
414
+
408
415
  /**
409
416
  * @category exception
410
417
  */
@@ -522,7 +529,7 @@ export class NoSuchContractFunctionError extends ContractError {
522
529
  * @category exception
523
530
  */
524
531
  export class NotPayableFunctionError extends ContractError {
525
- constructor(amount: string, fn: string) {
532
+ constructor(amount: Int, fn: string) {
526
533
  super(
527
534
  `You try to pay "${amount}" to function "${fn}" which is not payable. `
528
535
  + 'Only payable function can accept coins',
@@ -550,8 +557,8 @@ export class MissingEventDefinitionError extends ContractError {
550
557
  export class AmbiguousEventDefinitionError extends ContractError {
551
558
  constructor(eventAddress: string, matchedEvents: Array<[string, string]>) {
552
559
  super(
553
- `Found multiple definitions of "${matchedEvents[0][1]}" event emitted by ${eventAddress}`
554
- + ` in ${matchedEvents.map(([name]) => `"${name}"`).join(', ')} contracts`
560
+ `Found multiple definitions of "${matchedEvents[0][1]}" event with different types emitted by`
561
+ + ` ${eventAddress} in ${matchedEvents.map(([name]) => `"${name}"`).join(', ')} contracts`
555
562
  + ' (use contractAddressToName option to specify contract name corresponding to address)',
556
563
  );
557
564
  this.name = 'AmbiguousEventDefinitionError';
@@ -738,16 +745,6 @@ export class TxNotInChainError extends TransactionError {
738
745
  }
739
746
  }
740
747
 
741
- /**
742
- * @category exception
743
- */
744
- export class UnknownTxError extends TransactionError {
745
- constructor(message: string) {
746
- super(message);
747
- this.name = 'UnknownTxError';
748
- }
749
- }
750
-
751
748
  /**
752
749
  * @category exception
753
750
  */
@@ -4,20 +4,18 @@ import { fromString } from 'bip32-path';
4
4
  import aesjs from 'aes-js';
5
5
  import { sha256hash, encode, Encoding } from './encoder';
6
6
  import { CryptographyError } from './errors';
7
- import { bytesToHex } from './bytes';
8
7
  import { concatBuffers } from './other';
9
8
 
10
9
  const Ecb = aesjs.ModeOfOperation.ecb;
11
10
 
12
- // TODO: at least don't export `encryptKey` and `decryptKey`
11
+ // TODO: use mnemonic encryption instead of AES
13
12
  /**
14
13
  * Encrypt given data using `password`
15
14
  * @param password - Password to encrypt with
16
15
  * @param binaryData - Data to encrypt
17
16
  * @returns Encrypted data
18
- * @deprecated use 'sha.js' and 'aes-js' packages directly instead
19
17
  */
20
- export function encryptKey(password: string, binaryData: Uint8Array): Uint8Array {
18
+ function encryptKey(password: string, binaryData: Uint8Array): Uint8Array {
21
19
  const hashedPasswordBytes = sha256hash(password);
22
20
  const aesEcb = new Ecb(hashedPasswordBytes);
23
21
  return aesEcb.encrypt(binaryData);
@@ -28,9 +26,8 @@ export function encryptKey(password: string, binaryData: Uint8Array): Uint8Array
28
26
  * @param password - Password to decrypt with
29
27
  * @param encrypted - Data to decrypt
30
28
  * @returns Decrypted data
31
- * @deprecated use 'sha.js' and 'aes-js' packages directly instead
32
29
  */
33
- export function decryptKey(password: string, encrypted: Uint8Array): Uint8Array {
30
+ function decryptKey(password: string, encrypted: Uint8Array): Uint8Array {
34
31
  const encryptedBytes = Buffer.from(encrypted);
35
32
  const hashedPasswordBytes = sha256hash(password);
36
33
  const aesEcb = new Ecb(hashedPasswordBytes);
@@ -72,6 +69,9 @@ type Bip32PathT<MaxLen extends number, H extends 'H' | 'h' | '\''> = MaxLen exte
72
69
  type Bip32Path<MaxLen extends number> =
73
70
  '' | Bip32PathT<MaxLen, 'H'> | Bip32PathT<MaxLen, 'h'> | Bip32PathT<MaxLen, '\''>;
74
71
 
72
+ /**
73
+ * @category hd-wallet
74
+ */
75
75
  export function deriveChild({ secretKey, chainCode }: KeyTreeNode, index: number): KeyTreeNode {
76
76
  if (index < HARDENED_OFFSET) {
77
77
  throw new DerivationError(`Segment ${index} is not hardened`);
@@ -90,6 +90,9 @@ export function deriveChild({ secretKey, chainCode }: KeyTreeNode, index: number
90
90
  };
91
91
  }
92
92
 
93
+ /**
94
+ * @category hd-wallet
95
+ */
93
96
  export function derivePathFromKey(path: Bip32Path<5>, key: KeyTreeNode): KeyTreeNode {
94
97
  const segments = path === '' ? [] : fromString(path).toPathArray();
95
98
  segments.forEach((segment, i) => {
@@ -101,6 +104,9 @@ export function derivePathFromKey(path: Bip32Path<5>, key: KeyTreeNode): KeyTree
101
104
  return segments.reduce((parentKey, segment) => deriveChild(parentKey, segment), key);
102
105
  }
103
106
 
107
+ /**
108
+ * @category hd-wallet
109
+ */
104
110
  export function getMasterKeyFromSeed(seed: Uint8Array): KeyTreeNode {
105
111
  const I = hmac(seed, ED25519_CURVE);
106
112
  const IL = I.slice(0, 32);
@@ -111,6 +117,9 @@ export function getMasterKeyFromSeed(seed: Uint8Array): KeyTreeNode {
111
117
  };
112
118
  }
113
119
 
120
+ /**
121
+ * @category hd-wallet
122
+ */
114
123
  export function derivePathFromSeed(path: 'm' | `m/${Bip32Path<5>}`, seed: Uint8Array): KeyTreeNode {
115
124
  if (!['m', 'm/'].includes(path.slice(0, 2))) {
116
125
  throw new DerivationError('Root element is required');
@@ -122,23 +131,32 @@ export function derivePathFromSeed(path: 'm' | `m/${Bip32Path<5>}`, seed: Uint8A
122
131
  function formatAccount(keys: nacl.SignKeyPair): Account {
123
132
  const { secretKey, publicKey } = keys;
124
133
  return {
125
- secretKey: bytesToHex(secretKey),
134
+ secretKey: Buffer.from(secretKey).toString('hex'),
126
135
  publicKey: encode(publicKey, Encoding.AccountAddress),
127
136
  };
128
137
  }
129
138
 
139
+ /**
140
+ * @category hd-wallet
141
+ */
130
142
  export function getKeyPair(secretKey: Uint8Array): nacl.SignKeyPair {
131
143
  return nacl.sign.keyPair.fromSeed(secretKey);
132
144
  }
133
145
 
146
+ /**
147
+ * @category hd-wallet
148
+ */
134
149
  export function generateSaveHDWalletFromSeed(seed: Uint8Array, password: string): HDWallet {
135
150
  const walletKey = derivePathFromSeed('m/44h/457h', seed);
136
151
  return {
137
- secretKey: bytesToHex(encryptKey(password, walletKey.secretKey)),
138
- chainCode: bytesToHex(encryptKey(password, walletKey.chainCode)),
152
+ secretKey: Buffer.from(encryptKey(password, walletKey.secretKey)).toString('hex'),
153
+ chainCode: Buffer.from(encryptKey(password, walletKey.chainCode)).toString('hex'),
139
154
  };
140
155
  }
141
156
 
157
+ /**
158
+ * @category hd-wallet
159
+ */
142
160
  export function getSaveHDWalletAccounts(
143
161
  saveHDWallet: HDWallet,
144
162
  password: string,
@@ -152,6 +170,9 @@ export function getSaveHDWalletAccounts(
152
170
  .map((_, idx) => formatAccount(getKeyPair(derivePathFromKey(`${idx}h/0h/0h`, walletKey).secretKey)));
153
171
  }
154
172
 
173
+ /**
174
+ * @category hd-wallet
175
+ */
155
176
  export const getHdWalletAccountFromSeed = (
156
177
  seed: Uint8Array,
157
178
  accountIdx: number,
@@ -1,10 +1,7 @@
1
1
  import nacl from 'tweetnacl';
2
2
  import { v4 as uuid } from '@aeternity/uuid';
3
- // js extension is required for mjs build
4
- // eslint-disable-next-line import/extensions
5
- import { ArgonType, hash } from '@aeternity/argon2-browser/dist/argon2-bundled.min.js';
3
+ import { hash, argon2id } from '@aeternity/argon2';
6
4
  import { getAddressFromPriv } from './crypto';
7
- import { bytesToHex, hexToBytes } from './bytes';
8
5
  import { InvalidPasswordError } from './errors';
9
6
 
10
7
  const DERIVED_KEY_FUNCTIONS = {
@@ -13,16 +10,15 @@ const DERIVED_KEY_FUNCTIONS = {
13
10
  salt: string | Uint8Array,
14
11
  params: Partial<Keystore['crypto']['kdf_params']>,
15
12
  ): Promise<Uint8Array> {
16
- const { memlimit_kib: mem, opslimit: time } = params;
13
+ const { memlimit_kib: memoryCost, opslimit: timeCost } = params;
17
14
 
18
- return (await hash({
19
- hashLen: 32,
20
- pass,
15
+ return hash(pass, {
16
+ hashLength: 32,
21
17
  salt,
22
- time,
23
- mem,
24
- type: ArgonType.Argon2id,
25
- })).hash;
18
+ timeCost,
19
+ memoryCost,
20
+ type: argon2id,
21
+ });
26
22
  },
27
23
  };
28
24
 
@@ -72,6 +68,7 @@ const CRYPTO_DEFAULTS = {
72
68
 
73
69
  /**
74
70
  * Symmetric private key encryption using secret (derived) key.
71
+ * @category keystore
75
72
  * @param plaintext - Data to be encrypted.
76
73
  * @param key - Secret key.
77
74
  * @param nonce - Randomly generated nonce.
@@ -89,6 +86,7 @@ function encrypt(
89
86
 
90
87
  /**
91
88
  * Symmetric private key decryption using secret (derived) key.
89
+ * @category keystore
92
90
  * @param ciphertext - Data to be decrypted.
93
91
  * @param key - Secret key.
94
92
  * @param nonce - Nonce from key-object.
@@ -106,6 +104,7 @@ function decrypt(
106
104
 
107
105
  /**
108
106
  * Derive secret key from password with key derivation function.
107
+ * @category keystore
109
108
  * @param password - User-supplied password.
110
109
  * @param nonce - Randomly generated nonce.
111
110
  * @param kdf - Key derivation function.
@@ -123,6 +122,7 @@ async function deriveKey(
123
122
 
124
123
  /**
125
124
  * Recover plaintext private key from secret-storage key object.
125
+ * @category keystore
126
126
  * @param password - Keystore object password.
127
127
  * @param keystore - Keystore object.
128
128
  * @returns Plaintext private key.
@@ -131,17 +131,18 @@ export async function recover(
131
131
  password: string | Uint8Array,
132
132
  { crypto }: Keystore,
133
133
  ): Promise<string> {
134
- const salt = hexToBytes(crypto.kdf_params.salt);
135
- return bytesToHex(decrypt(
136
- hexToBytes(crypto.ciphertext),
134
+ const salt = Buffer.from(crypto.kdf_params.salt, 'hex');
135
+ return Buffer.from(decrypt(
136
+ Buffer.from(crypto.ciphertext, 'hex'),
137
137
  await deriveKey(password, salt, crypto.kdf, crypto.kdf_params),
138
- hexToBytes(crypto.cipher_params.nonce),
138
+ Buffer.from(crypto.cipher_params.nonce, 'hex'),
139
139
  crypto.symmetric_alg,
140
- ));
140
+ )).toString('hex');
141
141
  }
142
142
 
143
143
  /**
144
144
  * Export private key to keystore secret-storage format.
145
+ * @category keystore
145
146
  * @param name - Key name.
146
147
  * @param password - User-supplied password.
147
148
  * @param privateKey - Private key as hex-string or a Buffer.
@@ -161,7 +162,7 @@ export async function dump(
161
162
  ): Promise<Keystore> {
162
163
  const opt = { ...CRYPTO_DEFAULTS, ...options };
163
164
  const derivedKey = await deriveKey(password, salt, opt.kdf, opt.kdf_params);
164
- const payload = typeof privateKey === 'string' ? hexToBytes(privateKey) : privateKey;
165
+ const payload = typeof privateKey === 'string' ? Buffer.from(privateKey, 'hex') : privateKey;
165
166
  return {
166
167
  name,
167
168
  version: 1,
@@ -170,12 +171,14 @@ export async function dump(
170
171
  crypto: {
171
172
  secret_type: opt.secret_type,
172
173
  symmetric_alg: opt.symmetric_alg,
173
- ciphertext: bytesToHex(encrypt(payload, derivedKey, nonce, opt.symmetric_alg)),
174
- cipher_params: { nonce: bytesToHex(nonce) },
174
+ ciphertext: Buffer.from(
175
+ encrypt(payload, derivedKey, nonce, opt.symmetric_alg),
176
+ ).toString('hex'),
177
+ cipher_params: { nonce: Buffer.from(nonce).toString('hex') },
175
178
  kdf: opt.kdf,
176
179
  kdf_params: {
177
180
  ...opt.kdf_params,
178
- salt: bytesToHex(salt),
181
+ salt: Buffer.from(salt).toString('hex'),
179
182
  },
180
183
  },
181
184
  };
@@ -1,3 +1,5 @@
1
+ import { RestError } from '@azure/core-rest-pipeline';
2
+
1
3
  export const pause = async (duration: number): Promise<void> => new Promise((resolve) => {
2
4
  setTimeout(resolve, duration);
3
5
  });
@@ -30,7 +32,10 @@ export const concatBuffers = isWebpack4Buffer
30
32
  * @param key - Maybe object key
31
33
  * @param object - Object
32
34
  */
33
- export function isKeyOfObject<T>(key: string | number | symbol, object: T): key is keyof T {
35
+ export function isKeyOfObject<T extends object>(
36
+ key: string | number | symbol,
37
+ object: T,
38
+ ): key is keyof T {
34
39
  return key in object;
35
40
  }
36
41
 
@@ -42,3 +47,13 @@ export function isKeyOfObject<T>(key: string | number | symbol, object: T): key
42
47
  export function isItemOfArray<T>(item: any, array: readonly T[]): item is T {
43
48
  return array.includes(item);
44
49
  }
50
+
51
+ export function isAccountNotFoundError(error: Error): boolean {
52
+ return error instanceof RestError && error.statusCode === 404
53
+ && error.message.includes('Account not found');
54
+ }
55
+
56
+ // based on https://stackoverflow.com/a/50375286/6176994
57
+ export type UnionToIntersection<Union> =
58
+ (Union extends any ? (k: Union) => void : never) extends ((k: infer Intersection) => void)
59
+ ? Intersection : never;
@@ -32,23 +32,3 @@ export function snakeToPascal(s: string): string {
32
32
  export function pascalToSnake(s: string): string {
33
33
  return s.replace(/[A-Z]/g, (match) => `_${match.toLowerCase()}`);
34
34
  }
35
-
36
- /**
37
- * Check whether a string is valid hex.
38
- * @param str - String to validate.
39
- * @returns True if the string is valid hex, false otherwise.
40
- */
41
- export function isHex(str: string): boolean {
42
- return str.length % 2 === 0 && /^[0-9a-f]+$/i.test(str);
43
- }
44
-
45
- /**
46
- * Check whether a string is valid base-64.
47
- * @param str - String to validate.
48
- * @returns True if the string is valid base-64, false otherwise.
49
- */
50
- export function isBase64(str: string): boolean {
51
- if (str.length % 4 > 0 || /[^0-9a-z+/=]/i.test(str)) return false;
52
- const index = str.indexOf('=');
53
- return index === -1 || /={1,2}/.test(str.slice(index));
54
- }
@@ -0,0 +1,41 @@
1
+ import AeSdkBase from './AeSdkBase';
2
+ import { OnAccount } from './AeSdkMethods';
3
+ import AccountBase from './account/Base';
4
+ import { Encoded } from './utils/encoder';
5
+ export default class AeSdk extends AeSdkBase {
6
+ accounts: {
7
+ [key: string]: AccountBase;
8
+ };
9
+ selectedAddress?: Encoded.AccountAddress;
10
+ constructor({ accounts, ...options }?: {
11
+ accounts?: AccountBase[];
12
+ } & ConstructorParameters<typeof AeSdkBase>[0]);
13
+ _resolveAccount(account?: OnAccount): AccountBase;
14
+ /**
15
+ * Get accounts addresses
16
+ * @example addresses()
17
+ */
18
+ addresses(): Encoded.AccountAddress[];
19
+ /**
20
+ * Add specific account
21
+ * @param account - Account instance
22
+ * @param options - Options
23
+ * @param options.select - Select account
24
+ * @example addAccount(account)
25
+ */
26
+ addAccount(account: AccountBase, { select }?: {
27
+ select?: boolean;
28
+ }): void;
29
+ /**
30
+ * Remove specific account
31
+ * @param address - Address of account to remove
32
+ * @example removeAccount(address)
33
+ */
34
+ removeAccount(address: Encoded.AccountAddress): void;
35
+ /**
36
+ * Select specific account
37
+ * @param address - Address of account to select
38
+ * @example selectAccount('ak_xxxxxxxx')
39
+ */
40
+ selectAccount(address: Encoded.AccountAddress): void;
41
+ }
@@ -0,0 +1,71 @@
1
+ import AeSdkBase from './AeSdkBase';
2
+ import { OnAccount } from './AeSdkMethods';
3
+ import AccountBase from './account/Base';
4
+ import { Encoded } from './utils/encoder';
5
+ import { Accounts, WalletInfo, Network, WalletApi, AeppApi } from './aepp-wallet-communication/rpc/types';
6
+ import RpcClient from './aepp-wallet-communication/rpc/RpcClient';
7
+ import { METHODS, SUBSCRIPTION_TYPES } from './aepp-wallet-communication/schema';
8
+ import BrowserConnection from './aepp-wallet-communication/connection/Browser';
9
+ /**
10
+ * RPC handler for AEPP side
11
+ * Contain functionality for wallet interaction and connect it to sdk
12
+ * @category aepp wallet communication
13
+ */
14
+ export default class AeSdkAepp extends AeSdkBase {
15
+ name: string;
16
+ onAddressChange: (a: Accounts) => void;
17
+ onDisconnect: (p: any) => void;
18
+ onNetworkChange: (a: Network) => void;
19
+ rpcClient?: RpcClient<WalletApi, AeppApi>;
20
+ _accounts?: Accounts;
21
+ /**
22
+ * @param options - Options
23
+ * @param options.name - Aepp name
24
+ * @param options.onAddressChange - Call-back function for update address event
25
+ * @param options.onDisconnect - Call-back function for disconnect event
26
+ * @param options.onNetworkChange - Call-back function for update network event
27
+ */
28
+ constructor({ name, onAddressChange, onDisconnect, onNetworkChange, ...other }: {
29
+ name: string;
30
+ onAddressChange?: (a: Accounts) => void;
31
+ onDisconnect?: (p: any) => void;
32
+ onNetworkChange?: (a: Network) => void;
33
+ } & ConstructorParameters<typeof AeSdkBase>[0]);
34
+ _resolveAccount(account?: OnAccount): AccountBase;
35
+ addresses(): Encoded.AccountAddress[];
36
+ /**
37
+ * Connect to wallet
38
+ * @param connection - Wallet connection object
39
+ * @param options - Options
40
+ * @param options.connectNode - Request wallet to bind node
41
+ * @param options.name - Node name
42
+ * @param options.select - Select this node as current
43
+ */
44
+ connectToWallet(connection: BrowserConnection, { connectNode, name, select }?: {
45
+ connectNode?: boolean;
46
+ name?: string;
47
+ select?: boolean;
48
+ }): Promise<WalletInfo>;
49
+ /**
50
+ * Disconnect from wallet
51
+ */
52
+ disconnectWallet(): void;
53
+ /**
54
+ * Ask addresses from wallet
55
+ * @returns Addresses from wallet
56
+ */
57
+ askAddresses(): Promise<Encoded.AccountAddress[]>;
58
+ /**
59
+ * Subscribe for addresses from wallet
60
+ * @param type - Subscription type
61
+ * @param value - Should be one of 'current' (the selected account), 'connected' (all)
62
+ * @returns Accounts from wallet
63
+ */
64
+ subscribeAddress(type: SUBSCRIPTION_TYPES, value: 'current' | 'connected'): Promise<ReturnType<WalletApi[METHODS.subscribeAddress]>>;
65
+ _ensureConnected(): asserts this is AeSdkAepp & {
66
+ rpcClient: NonNullable<AeSdkAepp['rpcClient']>;
67
+ };
68
+ _ensureAccountAccess(): asserts this is AeSdkAepp & {
69
+ rpcClient: NonNullable<AeSdkAepp['rpcClient']>;
70
+ };
71
+ }
@@ -0,0 +1,91 @@
1
+ import Node from './Node';
2
+ import AccountBase from './account/Base';
3
+ import { Encoded } from './utils/encoder';
4
+ import CompilerBase from './contract/compiler/Base';
5
+ import AeSdkMethods, { OnAccount } from './AeSdkMethods';
6
+ type NodeInfo = Awaited<ReturnType<Node['getNodeInfo']>> & {
7
+ name: string;
8
+ };
9
+ /**
10
+ * Basic AeSdk class implements:
11
+ * - node selector,
12
+ * - integrated compiler support,
13
+ * - wrappers of account methods mapped to the current account.
14
+ */
15
+ export default class AeSdkBase extends AeSdkMethods {
16
+ pool: Map<string, Node>;
17
+ selectedNodeName?: string;
18
+ /**
19
+ * @param options - Options
20
+ * @param options.nodes - Array of nodes
21
+ */
22
+ constructor({ nodes, ...options }?: ConstructorParameters<typeof AeSdkMethods>[0] & {
23
+ nodes?: Array<{
24
+ name: string;
25
+ instance: Node;
26
+ }>;
27
+ });
28
+ get compilerApi(): CompilerBase;
29
+ get api(): Node;
30
+ /**
31
+ * Add Node
32
+ * @param name - Node name
33
+ * @param node - Node instance
34
+ * @param select - Select this node as current
35
+ * @example
36
+ * ```js
37
+ * // add and select new node with name 'testNode'
38
+ * aeSdkBase.addNode('testNode', new Node({ url }), true)
39
+ * ```
40
+ */
41
+ addNode(name: string, node: Node, select?: boolean): void;
42
+ /**
43
+ * Select Node
44
+ * @param name - Node name
45
+ * @example
46
+ * nodePool.selectNode('testNode')
47
+ */
48
+ selectNode(name: string): void;
49
+ /**
50
+ * Check if you have selected node
51
+ * @example
52
+ * nodePool.isNodeConnected()
53
+ */
54
+ isNodeConnected(): this is AeSdkBase & {
55
+ selectedNodeName: string;
56
+ };
57
+ protected ensureNodeConnected(): asserts this is AeSdkBase & {
58
+ selectedNodeName: string;
59
+ };
60
+ /**
61
+ * Get information about node
62
+ * @example
63
+ * ```js
64
+ * nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }
65
+ * ```
66
+ */
67
+ getNodeInfo(): Promise<NodeInfo>;
68
+ /**
69
+ * Get array of available nodes
70
+ * @example
71
+ * nodePool.getNodesInPool()
72
+ */
73
+ getNodesInPool(): Promise<NodeInfo[]>;
74
+ addresses(): Encoded.AccountAddress[];
75
+ get address(): Encoded.AccountAddress;
76
+ sign(data: string | Uint8Array, { onAccount, ...options }?: {
77
+ onAccount?: OnAccount;
78
+ }): Promise<Uint8Array>;
79
+ signTransaction(tx: Encoded.Transaction, { onAccount, ...options }?: {
80
+ onAccount?: OnAccount;
81
+ } & Parameters<AccountBase['signTransaction']>[1]): Promise<Encoded.Transaction>;
82
+ signMessage(message: string, { onAccount, ...options }?: {
83
+ onAccount?: OnAccount;
84
+ } & Parameters<AccountBase['signMessage']>[1]): Promise<Uint8Array>;
85
+ _getOptions(): {
86
+ onNode: Node;
87
+ onAccount: AccountBase;
88
+ onCompiler: CompilerBase;
89
+ };
90
+ }
91
+ export {};