@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
@@ -0,0 +1,192 @@
1
+ /*
2
+ * ISC License (ISC)
3
+ * Copyright (c) 2022 aeternity developers
4
+ *
5
+ * Permission to use, copy, modify, and/or distribute this software for any
6
+ * purpose with or without fee is hereby granted, provided that the above
7
+ * copyright notice and this permission notice appear in all copies.
8
+ *
9
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11
+ * AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13
+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14
+ * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15
+ * PERFORMANCE OF THIS SOFTWARE.
16
+ */
17
+
18
+ /**
19
+ * Transaction methods
20
+ *
21
+ * This is implementation of [Tx](api/tx.md) relays
22
+ * the creation of transactions to {@link Node}.
23
+ * These methods provide ability to create native transactions.
24
+ */
25
+ import BigNumber from 'bignumber.js';
26
+ import {
27
+ ABI_VERSIONS, CtVersion, PROTOCOL_VM_ABI, TX_TTL, TxParamsCommon,
28
+ } from './builder/schema';
29
+ import { Tag } from './builder/constants';
30
+ import {
31
+ ArgumentError, UnsupportedProtocolError, UnknownTxError, InvalidTxParamsError,
32
+ } from '../utils/errors';
33
+ import Node from '../Node';
34
+ import { Encoded } from '../utils/encoder';
35
+ import { buildTx as syncBuildTx, unpackTx } from './builder/index';
36
+ import { isKeyOfObject } from '../utils/other';
37
+ import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
38
+
39
+ type Int = number | string | BigNumber;
40
+
41
+ export type BuildTxOptions <TxType extends Tag, OmitFields extends string> =
42
+ Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;
43
+
44
+ /**
45
+ * Validated vm/abi version or get default based on transaction type and NODE version
46
+ * @category transaction builder
47
+ * @param txType - Type of transaction
48
+ * @param ctVersion - Object with vm and abi version fields
49
+ * @returns Object with vm/abi version
50
+ */
51
+ export async function getVmVersion(
52
+ txType: Tag.ContractCreateTx, ctVersion: Partial<CtVersion> & { onNode: Node }
53
+ ): Promise<CtVersion>;
54
+ export async function getVmVersion(
55
+ txType: Tag, ctVersion: Partial<Pick<CtVersion, 'abiVersion'>> & { onNode: Node }
56
+ ): Promise<Pick<CtVersion, 'abiVersion'>>;
57
+ export async function getVmVersion(
58
+ txType: Tag,
59
+ { vmVersion, abiVersion, onNode }: Partial<CtVersion> & { onNode: Node },
60
+ ): Promise<Partial<CtVersion>> {
61
+ const { consensusProtocolVersion } = await onNode.getNodeInfo();
62
+ if (!isKeyOfObject(consensusProtocolVersion, PROTOCOL_VM_ABI)) {
63
+ throw new UnsupportedProtocolError('Not supported consensus protocol version');
64
+ }
65
+ const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion];
66
+ if (!isKeyOfObject(txType, supportedProtocol)) {
67
+ throw new UnknownTxError('Not supported tx type');
68
+ }
69
+ const protocolForTX = supportedProtocol[txType];
70
+ abiVersion ??= protocolForTX.abiVersion[0];
71
+ vmVersion ??= protocolForTX.vmVersion[0];
72
+ return { vmVersion, abiVersion };
73
+ }
74
+
75
+ /**
76
+ * Calculate fee, get absolute ttl (ttl + height), get account nonce
77
+ * @category transaction builder
78
+ * @param txType - Type of transaction
79
+ * @param params - Object which contains all tx data
80
+ * @returns Object with account nonce, absolute ttl and transaction fee
81
+ */
82
+ export async function prepareTxParams(
83
+ txType: Tag,
84
+ {
85
+ senderId,
86
+ nonce,
87
+ ttl = TX_TTL,
88
+ absoluteTtl,
89
+ strategy,
90
+ onNode,
91
+ }: PrepareTxParamsOptions,
92
+ ): Promise<{ ttl: number; nonce: number }> {
93
+ nonce ??= (
94
+ await onNode.getAccountNextNonce(senderId, { strategy }).catch(() => ({ nextNonce: 1 }))
95
+ ).nextNonce;
96
+
97
+ if (ttl !== 0) {
98
+ if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl);
99
+ ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;
100
+ }
101
+
102
+ return { ttl, nonce };
103
+ }
104
+
105
+ interface PrepareTxParamsOptions extends Pick<TxParamsCommon, 'nonce' | 'ttl'> {
106
+ senderId: Encoded.AccountAddress;
107
+ absoluteTtl?: boolean;
108
+ strategy?: 'continuity' | 'max';
109
+ onNode: Node;
110
+ }
111
+
112
+ // TODO: find a better name or rearrange methods
113
+ /**
114
+ * @category transaction builder
115
+ */
116
+ export async function _buildTx<TxType extends Tag>(
117
+ txType: TxType,
118
+ { denomination, absoluteTtl, ..._params }:
119
+ Omit<Parameters<typeof syncBuildTx<TxType, 'tx'>>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'>
120
+ & {
121
+ onNode: Node;
122
+ fee?: Int;
123
+ nonce?: number;
124
+ ttl?: number;
125
+ denomination?: AE_AMOUNT_FORMATS;
126
+ absoluteTtl?: boolean;
127
+ }
128
+ & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx
129
+ ? { callerId: Encoded.AccountAddress } : {})
130
+ & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? { ctVersion?: CtVersion } : {})
131
+ & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx
132
+ ? { abiVersion?: ABI_VERSIONS } : {}),
133
+ ): Promise<Encoded.Transaction> {
134
+ // TODO: avoid this assertion
135
+ const params = _params as unknown as TxParamsCommon & { onNode: Node };
136
+ let senderKey: keyof TxParamsCommon | '<absent>';
137
+ switch (txType) {
138
+ case Tag.SpendTx:
139
+ case Tag.OracleQueryTx:
140
+ senderKey = 'senderId';
141
+ break;
142
+ case Tag.NameClaimTx:
143
+ case Tag.NameUpdateTx:
144
+ case Tag.NameRevokeTx:
145
+ case Tag.NameTransferTx:
146
+ case Tag.NamePreclaimTx:
147
+ case Tag.OracleRegisterTx:
148
+ senderKey = 'accountId';
149
+ break;
150
+ case Tag.ContractCreateTx:
151
+ case Tag.GaAttachTx:
152
+ senderKey = 'ownerId';
153
+ break;
154
+ case Tag.ContractCallTx:
155
+ case Tag.OracleExtendTx:
156
+ case Tag.OracleResponseTx:
157
+ senderKey = 'callerId';
158
+ break;
159
+ case Tag.ChannelCloseSoloTx:
160
+ case Tag.ChannelSlashTx:
161
+ case Tag.ChannelSettleTx:
162
+ case Tag.ChannelSnapshotSoloTx:
163
+ senderKey = 'fromId';
164
+ break;
165
+ case Tag.PayingForTx:
166
+ senderKey = 'payerId';
167
+ break;
168
+ default:
169
+ throw new ArgumentError('txType', 'valid transaction type', txType);
170
+ }
171
+ // TODO: move specific cases to field-types
172
+ if ([Tag.ContractCreateTx, Tag.GaAttachTx].includes(txType)) {
173
+ params.ctVersion = await getVmVersion(
174
+ Tag.ContractCreateTx,
175
+ { ...params, ...params.ctVersion },
176
+ );
177
+ }
178
+ if (txType === Tag.ContractCallTx) {
179
+ params.abiVersion = (await getVmVersion(Tag.ContractCallTx, params)).abiVersion;
180
+ }
181
+ if (txType === Tag.OracleRegisterTx) {
182
+ params.abiVersion ??= ABI_VERSIONS.NO_ABI;
183
+ }
184
+ if (txType === Tag.PayingForTx) {
185
+ params.tx = unpackTx(params.tx);
186
+ }
187
+ const senderId = params[senderKey];
188
+ // TODO: do this check on TypeScript level
189
+ if (senderId == null) throw new InvalidTxParamsError(`Transaction field ${senderKey} is missed`);
190
+ const extraParams = await prepareTxParams(txType, { ...params, senderId, absoluteTtl });
191
+ return syncBuildTx({ ...params, ...extraParams } as any, txType, { denomination }).tx;
192
+ }
@@ -0,0 +1,230 @@
1
+ import BigNumber from 'bignumber.js';
2
+ import { hash, verify } from '../utils/crypto';
3
+ import {
4
+ CtVersion,
5
+ PROTOCOL_VM_ABI,
6
+ RawTxObject,
7
+ TxParamsCommon,
8
+ TxSchema,
9
+ TxTypeSchemas,
10
+ } from './builder/schema';
11
+ import { Tag } from './builder/constants';
12
+ import { TxUnpacked, unpackTx } from './builder';
13
+ import { UnsupportedProtocolError } from '../utils/errors';
14
+ import { concatBuffers, isKeyOfObject } from '../utils/other';
15
+ import {
16
+ decode, encode, Encoded, Encoding,
17
+ } from '../utils/encoder';
18
+ import Node from '../Node';
19
+
20
+ interface Account {
21
+ balance: bigint;
22
+ id: Encoded.AccountAddress;
23
+ nonce: number;
24
+ }
25
+
26
+ export interface ValidatorResult {
27
+ message: string;
28
+ key: string;
29
+ checkedKeys: string[];
30
+ }
31
+
32
+ type Validator = (
33
+ tx: {
34
+ encodedTx: TxUnpacked<TxSchema>;
35
+ signatures: Buffer[];
36
+ tx: TxUnpacked<TxSchema> & {
37
+ tx: TxTypeSchemas[Tag.SignedTx];
38
+ };
39
+ nonce?: number;
40
+ ttl?: number;
41
+ amount?: number;
42
+ fee?: number;
43
+ nameFee?: number;
44
+ ctVersion?: Partial<CtVersion>;
45
+ abiVersion?: number;
46
+ contractId?: Encoded.ContractAddress;
47
+ },
48
+ options: {
49
+ account?: Account;
50
+ nodeNetworkId: string;
51
+ parentTxTypes: Tag[];
52
+ node: Node;
53
+ txType: Tag;
54
+ height: number;
55
+ consensusProtocolVersion: number;
56
+ }
57
+ ) => ValidatorResult[] | Promise<ValidatorResult[]>;
58
+
59
+ const validators: Validator[] = [];
60
+
61
+ const getSenderAddress = (
62
+ tx: TxParamsCommon | RawTxObject<TxSchema>,
63
+ ): Encoded.AccountAddress | undefined => [
64
+ 'senderId', 'accountId', 'ownerId', 'callerId',
65
+ 'oracleId', 'fromId', 'initiator', 'gaId', 'payerId',
66
+ ]
67
+ .map((key: keyof TxSchema) => tx[key])
68
+ .filter((a) => a)
69
+ .map((a) => a?.toString().replace(/^ok_/, 'ak_'))[0] as Encoded.AccountAddress | undefined;
70
+
71
+ /**
72
+ * Transaction Validator
73
+ * This function validates some of transaction properties,
74
+ * to make sure it can be posted it to the chain
75
+ * @category transaction builder
76
+ * @param transaction - Base64Check-encoded transaction
77
+ * @param node - Node to validate transaction against
78
+ * @param parentTxTypes - Types of parent transactions
79
+ * @returns Array with verification errors
80
+ * @example const errors = await verifyTransaction(transaction, node)
81
+ */
82
+ export default async function verifyTransaction(
83
+ transaction: Encoded.Transaction | Encoded.Poi,
84
+ node: Node,
85
+ parentTxTypes: Tag[] = [],
86
+ ): Promise<ValidatorResult[]> {
87
+ const { tx, txType } = unpackTx<Tag.SignedTx>(transaction);
88
+ const address = getSenderAddress(tx)
89
+ ?? (txType === Tag.SignedTx ? getSenderAddress(tx.encodedTx.tx) : undefined);
90
+ const [account, { height }, { consensusProtocolVersion, nodeNetworkId }] = await Promise.all([
91
+ address == null
92
+ ? undefined
93
+ : node.getAccountByPubkey(address)
94
+ .catch(() => ({ id: address, balance: 0n, nonce: 0 }))
95
+ // TODO: remove after fixing https://github.com/aeternity/aepp-sdk-js/issues/1537
96
+ .then((acc) => ({ ...acc, id: acc.id as Encoded.AccountAddress })),
97
+ node.getCurrentKeyBlockHeight(),
98
+ node.getNodeInfo(),
99
+ ]);
100
+
101
+ return (await Promise.all(
102
+ validators.map((v) => v(
103
+ tx as any,
104
+ {
105
+ txType, node, account, height, consensusProtocolVersion, nodeNetworkId, parentTxTypes,
106
+ },
107
+ )),
108
+ )).flat();
109
+ }
110
+
111
+ validators.push(
112
+ ({ encodedTx, signatures }, { account, nodeNetworkId, parentTxTypes }) => {
113
+ if ((encodedTx ?? signatures) === undefined) return [];
114
+ if (account == null) return [];
115
+ if (signatures.length !== 1) return []; // TODO: Support multisignature?
116
+ const prefix = Buffer.from([
117
+ nodeNetworkId,
118
+ ...parentTxTypes.includes(Tag.PayingForTx) ? ['inner_tx'] : [],
119
+ ].join('-'));
120
+ const txWithNetworkId = concatBuffers([prefix, encodedTx.rlpEncoded]);
121
+ const txHashWithNetworkId = concatBuffers([prefix, hash(encodedTx.rlpEncoded)]);
122
+ const decodedPub = decode(account.id);
123
+ if (verify(txWithNetworkId, signatures[0], decodedPub)
124
+ || verify(txHashWithNetworkId, signatures[0], decodedPub)) return [];
125
+ return [{
126
+ message: 'Signature cannot be verified, please ensure that you transaction have'
127
+ + ' the correct prefix and the correct private key for the sender address',
128
+ key: 'InvalidSignature',
129
+ checkedKeys: ['encodedTx', 'signatures'],
130
+ }];
131
+ },
132
+ async ({ encodedTx, tx }, { node, parentTxTypes, txType }) => {
133
+ if ((encodedTx ?? tx) === undefined) return [];
134
+ return verifyTransaction(
135
+ encode((encodedTx ?? tx).rlpEncoded, Encoding.Transaction),
136
+ node,
137
+ [...parentTxTypes, txType],
138
+ );
139
+ },
140
+ ({ ttl }, { height }) => {
141
+ if (ttl === undefined) return [];
142
+ ttl = +ttl;
143
+ if (ttl === 0 || ttl >= height) return [];
144
+ return [{
145
+ message: `TTL ${ttl} is already expired, current height is ${height}`,
146
+ key: 'ExpiredTTL',
147
+ checkedKeys: ['ttl'],
148
+ }];
149
+ },
150
+ ({
151
+ amount, fee, nameFee, tx,
152
+ }, { account, parentTxTypes, txType }) => {
153
+ if (account == null) return [];
154
+ if ((amount ?? fee ?? nameFee) === undefined) return [];
155
+ fee ??= 0;
156
+ const cost = new BigNumber(fee).plus(nameFee ?? 0).plus(amount ?? 0)
157
+ .plus(txType === Tag.PayingForTx ? (tx.tx.encodedTx.tx).fee : 0)
158
+ .minus(parentTxTypes.includes(Tag.PayingForTx) ? fee : 0);
159
+ if (cost.lte(account.balance.toString())) return [];
160
+ return [{
161
+ message: `Account balance ${account.balance.toString()} is not enough to execute the transaction that costs ${cost.toFixed()}`,
162
+ key: 'InsufficientBalance',
163
+ checkedKeys: ['amount', 'fee', 'nameFee'],
164
+ }];
165
+ },
166
+ ({ nonce }, { account, parentTxTypes }) => {
167
+ if (nonce == null || account == null || parentTxTypes.includes(Tag.GaMetaTx)) return [];
168
+ nonce = +nonce;
169
+ const validNonce = account.nonce + 1;
170
+ if (nonce === validNonce) return [];
171
+ return [{
172
+ ...nonce < validNonce
173
+ ? {
174
+ message: `Nonce ${nonce} is already used, valid nonce is ${validNonce}`,
175
+ key: 'NonceAlreadyUsed',
176
+ }
177
+ : {
178
+ message: `Nonce ${nonce} is too high, valid nonce is ${validNonce}`,
179
+ key: 'NonceHigh',
180
+ },
181
+ checkedKeys: ['nonce'],
182
+ }];
183
+ },
184
+ ({ ctVersion, abiVersion }, { txType, consensusProtocolVersion }) => {
185
+ if (!isKeyOfObject(consensusProtocolVersion, PROTOCOL_VM_ABI)) {
186
+ throw new UnsupportedProtocolError(`Unsupported protocol: ${consensusProtocolVersion}`);
187
+ }
188
+ const protocol = PROTOCOL_VM_ABI[consensusProtocolVersion];
189
+
190
+ // If not contract create tx
191
+ if (ctVersion == null) ctVersion = { abiVersion };
192
+ const txProtocol = protocol[txType as keyof typeof protocol];
193
+ if (txProtocol == null) return [];
194
+ if (Object.entries(ctVersion).some(
195
+ ([
196
+ key,
197
+ value,
198
+ ]: [
199
+ key:keyof typeof txProtocol,
200
+ value:any]) => !(txProtocol[key].includes(+value as never)),
201
+ )) {
202
+ return [{
203
+ message: `ABI/VM version ${JSON.stringify(ctVersion)} is wrong, supported is: ${JSON.stringify(txProtocol)}`,
204
+ key: 'VmAndAbiVersionMismatch',
205
+ checkedKeys: ['ctVersion', 'abiVersion'],
206
+ }];
207
+ }
208
+ return [];
209
+ },
210
+ async ({ contractId }, { txType, node }) => {
211
+ if (Tag.ContractCallTx !== txType) return [];
212
+ contractId = contractId as Encoded.ContractAddress;
213
+ try {
214
+ const { active } = await node.getContract(contractId);
215
+ if (active) return [];
216
+ return [{
217
+ message: `Contract ${contractId} is not active`,
218
+ key: 'ContractNotActive',
219
+ checkedKeys: ['contractId'],
220
+ }];
221
+ } catch (error) {
222
+ if (error.response?.parsedBody?.reason == null) throw error;
223
+ return [{
224
+ message: error.response.parsedBody.reason,
225
+ key: 'ContractNotFound',
226
+ checkedKeys: ['contractId'],
227
+ }];
228
+ }
229
+ },
230
+ );
@@ -0,0 +1,3 @@
1
+ declare module '@aeternity/argon2-browser/dist/argon2-bundled.min.js' {
2
+ export * from 'argon2-browser';
3
+ }
@@ -0,0 +1,5 @@
1
+ declare module '@aeternity/uuid' {
2
+ // Already depends on @types/uuid
3
+ // eslint-disable-next-line import/no-extraneous-dependencies
4
+ export * from 'uuid';
5
+ }
@@ -0,0 +1,33 @@
1
+ // TODO: remove after solving https://github.com/axic/bip32-path/issues/5
2
+
3
+ declare module 'bip32-path' {
4
+ interface BipPath {
5
+ toPathArray: () => number[];
6
+ /**
7
+ * returns a text encoded path. Set to noRoot to true to omit the m/ prefix.
8
+ * Set oldStyle true to use h instead of ' for marking hardened nodes.
9
+ */
10
+ toString: (noRoot: boolean, oldStyle: boolean) => string;
11
+
12
+ /**
13
+ * returns true if the input is a valid path string
14
+ */
15
+ validateString: (path: string) => boolean;
16
+
17
+ /**
18
+ * returns true if the input is a valid binary path array
19
+ */
20
+ validatePathArray: (path: string) => boolean;
21
+ }
22
+
23
+ /**
24
+ * creates an instance from a path written as text.
25
+ * Set reqRoot to true if the m/ prefix is mandatory.
26
+ */
27
+ export const fromString: (text: string, reqRoot?: boolean) => BipPath;
28
+
29
+ /**
30
+ * creates an instance from a binary path array
31
+ */
32
+ export const fromPathArray: (path: string) => BipPath;
33
+ }
@@ -1,33 +1,5 @@
1
- declare module 'blakejs' {
2
- interface Context {
3
- b: Uint8Array
4
- h: Uint32Array
5
- t: number
6
- c: number
7
- outlen: number
8
- }
9
-
10
- export type Data = Buffer | Uint8Array | string
11
-
12
- type Key = Uint8Array | null
13
-
14
- export const blake2b: (data: Data, key?: Key, outlen?: number) => Uint8Array
15
-
16
- export const blake2bFinal: (context: Context) => Uint8Array
17
-
18
- export const blake2bHex: (data: Data, key?: Key, outlen?: number) => string
19
-
20
- export const blake2bInit: (outlen?: number, key?: Key) => Context
21
-
22
- export const blake2bUpdate: (context: Context, data: Data) => void
23
-
24
- export const blake2s: (data: Data, key?: Key, outlen?: number) => Uint8Array
25
-
26
- export const blake2sFinal: (context: Context) => Uint8Array
27
-
28
- export const blake2sHex: (data: Data, key?: Key, outlen?: number) => string
29
-
30
- export const blake2sInit: (outlen?: number, key?: Key) => Context
31
-
32
- export const blake2sUpdate: (context: Context, data: Data) => void
1
+ declare module 'blakejs/blake2b.js' {
2
+ export {
3
+ Blake2bCTX, blake2bInit, blake2bUpdate, blake2bFinal, blake2b, blake2bHex,
4
+ } from 'blakejs';
33
5
  }
@@ -0,0 +1,5 @@
1
+ declare module 'sha.js/sha256.js' {
2
+ import { sha256 } from 'sha.js';
3
+
4
+ export default sha256;
5
+ }
@@ -0,0 +1,14 @@
1
+ // TODO: remove after solving https://github.com/dchest/tweetnacl-auth-js/issues/3
2
+
3
+ declare module 'tweetnacl-auth' {
4
+ /**
5
+ * Authenticates the given message with the secret key.
6
+ * (In other words, returns HMAC-SHA-512-256 of the message under the key.)
7
+ */
8
+ export default function (message: Uint8Array, key: Uint8Array): Uint8Array;
9
+
10
+ /**
11
+ * Returns HMAC-SHA-512 (without truncation) of the message under the key
12
+ */
13
+ export const full: (message: Uint8Array, key: Uint8Array) => Uint8Array;
14
+ }