@aeternity/aepp-sdk 13.0.1 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/README.md +4 -2
  2. package/bin/aesophia_cli +0 -0
  3. package/dist/aepp-sdk.browser-script.js +1 -1
  4. package/dist/aepp-sdk.browser-script.js.map +1 -1
  5. package/dist/aepp-sdk.browser.js +1 -1
  6. package/dist/aepp-sdk.browser.js.map +1 -1
  7. package/dist/aepp-sdk.js +28490 -17706
  8. package/dist/aepp-sdk.js.map +1 -1
  9. package/es/AeSdkAepp.mjs.map +1 -1
  10. package/es/AeSdkBase.d.ts +21 -3
  11. package/es/AeSdkBase.mjs +51 -3
  12. package/es/AeSdkBase.mjs.map +1 -1
  13. package/es/AeSdkMethods.d.ts +9 -14
  14. package/es/AeSdkMethods.mjs +20 -49
  15. package/es/AeSdkMethods.mjs.map +1 -1
  16. package/es/AeSdkWallet.d.ts +1 -1
  17. package/es/AeSdkWallet.mjs +79 -23
  18. package/es/AeSdkWallet.mjs.map +1 -1
  19. package/es/Middleware.d.ts +38 -0
  20. package/es/Middleware.mjs +90 -0
  21. package/es/Middleware.mjs.map +1 -0
  22. package/es/MiddlewareSubscriber.d.ts +30 -0
  23. package/es/MiddlewareSubscriber.mjs +198 -0
  24. package/es/MiddlewareSubscriber.mjs.map +1 -0
  25. package/es/Node.d.ts +1 -1
  26. package/es/Node.mjs.map +1 -1
  27. package/es/account/Base.d.ts +57 -3
  28. package/es/account/Base.mjs +95 -1
  29. package/es/account/Base.mjs.map +1 -1
  30. package/es/account/Generalized.d.ts +4 -0
  31. package/es/account/Generalized.mjs +20 -0
  32. package/es/account/Generalized.mjs.map +1 -1
  33. package/es/account/Ledger.d.ts +4 -0
  34. package/es/account/Ledger.mjs +20 -0
  35. package/es/account/Ledger.mjs.map +1 -1
  36. package/es/account/LedgerFactory.mjs.map +1 -1
  37. package/es/account/Memory.d.ts +12 -0
  38. package/es/account/Memory.mjs +52 -0
  39. package/es/account/Memory.mjs.map +1 -1
  40. package/es/account/Rpc.d.ts +5 -6
  41. package/es/account/Rpc.mjs +53 -10
  42. package/es/account/Rpc.mjs.map +1 -1
  43. package/es/aens.d.ts +1 -1
  44. package/es/aens.mjs +1 -1
  45. package/es/aens.mjs.map +1 -1
  46. package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
  47. package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
  48. package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
  49. package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
  50. package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -2
  51. package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
  52. package/es/aepp-wallet-communication/rpc/types.d.ts +19 -0
  53. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  54. package/es/aepp-wallet-communication/schema.d.ts +2 -8
  55. package/es/aepp-wallet-communication/schema.mjs +21 -33
  56. package/es/aepp-wallet-communication/schema.mjs.map +1 -1
  57. package/es/aepp-wallet-communication/wallet-detector.d.ts +1 -1
  58. package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
  59. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  60. package/es/apis/compiler/compiler.mjs +15 -1
  61. package/es/apis/compiler/compiler.mjs.map +1 -1
  62. package/es/apis/compiler/models/index.d.ts +1 -7
  63. package/es/apis/compiler/models/index.mjs.map +1 -1
  64. package/es/apis/compiler/models/mappers.d.ts +0 -1
  65. package/es/apis/compiler/models/mappers.mjs +0 -43
  66. package/es/apis/compiler/models/mappers.mjs.map +1 -1
  67. package/es/apis/middleware/index.d.ts +2 -0
  68. package/es/apis/middleware/index.mjs +3 -0
  69. package/es/apis/middleware/index.mjs.map +1 -0
  70. package/es/apis/middleware/middleware.d.ts +309 -0
  71. package/es/apis/middleware/middleware.mjs +1527 -0
  72. package/es/apis/middleware/middleware.mjs.map +1 -0
  73. package/es/apis/middleware/models/index.d.ts +1496 -0
  74. package/es/apis/middleware/models/index.mjs +580 -0
  75. package/es/apis/middleware/models/index.mjs.map +1 -0
  76. package/es/apis/middleware/models/mappers.d.ts +102 -0
  77. package/es/apis/middleware/models/mappers.mjs +3334 -0
  78. package/es/apis/middleware/models/mappers.mjs.map +1 -0
  79. package/es/apis/middleware/models/parameters.d.ts +43 -0
  80. package/es/apis/middleware/models/parameters.mjs +417 -0
  81. package/es/apis/middleware/models/parameters.mjs.map +1 -0
  82. package/es/apis/node/node.mjs.map +1 -1
  83. package/es/chain.d.ts +2 -1
  84. package/es/chain.mjs +5 -3
  85. package/es/chain.mjs.map +1 -1
  86. package/es/channel/Base.d.ts +1 -1
  87. package/es/channel/Base.mjs +1 -4
  88. package/es/channel/Base.mjs.map +1 -1
  89. package/es/channel/Contract.mjs.map +1 -1
  90. package/es/channel/Spend.mjs.map +1 -1
  91. package/es/channel/handlers.mjs +2 -2
  92. package/es/channel/handlers.mjs.map +1 -1
  93. package/es/channel/internal.mjs +7 -5
  94. package/es/channel/internal.mjs.map +1 -1
  95. package/es/contract/Contract.mjs +2 -2
  96. package/es/contract/Contract.mjs.map +1 -1
  97. package/es/contract/compiler/Base.d.ts +21 -0
  98. package/es/contract/compiler/Base.mjs.map +1 -1
  99. package/es/contract/compiler/Cli.d.ts +2 -0
  100. package/es/contract/compiler/Cli.mjs +24 -3
  101. package/es/contract/compiler/Cli.mjs.map +1 -1
  102. package/es/contract/compiler/Http.d.ts +2 -0
  103. package/es/contract/compiler/Http.mjs +22 -2
  104. package/es/contract/compiler/Http.mjs.map +1 -1
  105. package/es/contract/compiler/HttpNode.d.ts +1 -0
  106. package/es/contract/compiler/HttpNode.mjs +5 -0
  107. package/es/contract/compiler/HttpNode.mjs.map +1 -1
  108. package/es/contract/delegation-signature.d.ts +2 -1
  109. package/es/contract/delegation-signature.mjs +39 -8
  110. package/es/contract/delegation-signature.mjs.map +1 -1
  111. package/es/contract/ga.mjs.map +1 -1
  112. package/es/deprecated.d.ts +14 -0
  113. package/es/deprecated.mjs +22 -0
  114. package/es/deprecated.mjs.map +1 -0
  115. package/es/index-browser.d.ts +20 -14
  116. package/es/index-browser.mjs +19 -15
  117. package/es/index-browser.mjs.map +1 -1
  118. package/es/oracle.mjs.map +1 -1
  119. package/es/spend.d.ts +2 -1
  120. package/es/spend.mjs +4 -2
  121. package/es/spend.mjs.map +1 -1
  122. package/es/tx/builder/constants.d.ts +0 -1
  123. package/es/tx/builder/constants.mjs +26 -24
  124. package/es/tx/builder/constants.mjs.map +1 -1
  125. package/es/tx/builder/field-types/abi-version.mjs.map +1 -1
  126. package/es/tx/builder/field-types/coin-amount.d.ts +1 -1
  127. package/es/tx/builder/field-types/coin-amount.mjs +2 -1
  128. package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
  129. package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
  130. package/es/tx/builder/field-types/deposit.d.ts +1 -1
  131. package/es/tx/builder/field-types/deposit.mjs.map +1 -1
  132. package/es/tx/builder/field-types/entry.mjs +2 -1
  133. package/es/tx/builder/field-types/entry.mjs.map +1 -1
  134. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  135. package/es/tx/builder/field-types/field.mjs.map +1 -1
  136. package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
  137. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  138. package/es/tx/builder/field-types/index.d.ts +28 -150
  139. package/es/tx/builder/field-types/index.mjs +28 -56
  140. package/es/tx/builder/field-types/index.mjs.map +1 -1
  141. package/es/tx/builder/field-types/map.mjs.map +1 -1
  142. package/es/tx/builder/field-types/mptree.mjs +3 -3
  143. package/es/tx/builder/field-types/mptree.mjs.map +1 -1
  144. package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
  145. package/es/tx/builder/field-types/pointers.mjs.map +1 -1
  146. package/es/tx/builder/field-types/string.mjs.map +1 -1
  147. package/es/tx/builder/field-types/ttl.mjs.map +1 -1
  148. package/es/tx/builder/field-types/u-int.mjs +1 -1
  149. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  150. package/es/tx/builder/helpers.d.ts +8 -1
  151. package/es/tx/builder/helpers.mjs +53 -9
  152. package/es/tx/builder/helpers.mjs.map +1 -1
  153. package/es/tx/builder/index.d.ts +4 -2
  154. package/es/tx/builder/index.mjs +0 -1
  155. package/es/tx/builder/index.mjs.map +1 -1
  156. package/es/tx/builder/schema.d.ts +9 -9
  157. package/es/tx/builder/schema.mjs +11 -10
  158. package/es/tx/builder/schema.mjs.map +1 -1
  159. package/es/tx/execution-cost.mjs.map +1 -1
  160. package/es/tx/transaction-signer.mjs.map +1 -1
  161. package/es/tx/validator.mjs +6 -3
  162. package/es/tx/validator.mjs.map +1 -1
  163. package/es/utils/amount-formatter.mjs +7 -7
  164. package/es/utils/amount-formatter.mjs.map +1 -1
  165. package/es/utils/autorest.mjs +6 -8
  166. package/es/utils/autorest.mjs.map +1 -1
  167. package/es/utils/bignumber.mjs.map +1 -1
  168. package/es/utils/bytes.mjs.map +1 -1
  169. package/es/utils/crypto.d.ts +1 -0
  170. package/es/utils/crypto.mjs +12 -2
  171. package/es/utils/crypto.mjs.map +1 -1
  172. package/es/utils/encoder-types.mjs +3 -3
  173. package/es/utils/encoder-types.mjs.map +1 -1
  174. package/es/utils/encoder.mjs.map +1 -1
  175. package/es/utils/errors.d.ts +2 -2
  176. package/es/utils/errors.mjs.map +1 -1
  177. package/es/utils/hd-wallet.mjs.map +1 -1
  178. package/es/utils/keystore.mjs.map +1 -1
  179. package/es/utils/other.d.ts +1 -0
  180. package/es/utils/other.mjs +5 -0
  181. package/es/utils/other.mjs.map +1 -1
  182. package/es/utils/semver-satisfies.mjs.map +1 -1
  183. package/es/utils/string.mjs.map +1 -1
  184. package/es/utils/typed-data.d.ts +45 -0
  185. package/es/utils/typed-data.mjs +70 -0
  186. package/es/utils/typed-data.mjs.map +1 -0
  187. package/package.json +56 -37
  188. package/src/AeSdkBase.ts +66 -5
  189. package/src/AeSdkMethods.ts +31 -50
  190. package/src/AeSdkWallet.ts +63 -17
  191. package/src/Middleware.ts +141 -0
  192. package/src/MiddlewareSubscriber.ts +207 -0
  193. package/src/Node.ts +1 -1
  194. package/src/account/Base.ts +102 -4
  195. package/src/account/Generalized.ts +20 -0
  196. package/src/account/Ledger.ts +20 -0
  197. package/src/account/Memory.ts +68 -1
  198. package/src/account/Rpc.ts +54 -7
  199. package/src/aens.ts +1 -1
  200. package/src/aepp-wallet-communication/rpc/RpcClient.ts +11 -3
  201. package/src/aepp-wallet-communication/rpc/types.ts +21 -0
  202. package/src/aepp-wallet-communication/schema.ts +3 -17
  203. package/src/aepp-wallet-communication/wallet-detector.ts +1 -2
  204. package/src/apis/compiler/compiler.ts +8 -1
  205. package/src/apis/compiler/models/index.ts +1 -8
  206. package/src/apis/compiler/models/mappers.ts +0 -36
  207. package/src/apis/middleware/index.ts +2 -0
  208. package/src/apis/middleware/middleware.ts +1807 -0
  209. package/src/apis/middleware/models/index.ts +1747 -0
  210. package/src/apis/middleware/models/mappers.ts +3370 -0
  211. package/src/apis/middleware/models/parameters.ts +463 -0
  212. package/src/chain.ts +4 -3
  213. package/src/channel/Base.ts +5 -5
  214. package/src/channel/internal.ts +2 -0
  215. package/src/contract/Contract.ts +2 -1
  216. package/src/contract/compiler/Base.ts +26 -0
  217. package/src/contract/compiler/Cli.ts +27 -3
  218. package/src/contract/compiler/Http.ts +21 -2
  219. package/src/contract/compiler/HttpNode.ts +6 -0
  220. package/src/contract/delegation-signature.ts +37 -11
  221. package/src/deprecated.ts +23 -0
  222. package/src/index-browser.ts +77 -15
  223. package/src/spend.ts +2 -2
  224. package/src/tx/builder/constants.ts +0 -1
  225. package/src/tx/builder/field-types/coin-amount.ts +2 -1
  226. package/src/tx/builder/field-types/entry.ts +1 -1
  227. package/src/tx/builder/field-types/index.ts +28 -58
  228. package/src/tx/builder/field-types/u-int.ts +1 -1
  229. package/src/tx/builder/helpers.ts +54 -9
  230. package/src/tx/builder/index.ts +6 -9
  231. package/src/tx/validator.ts +4 -2
  232. package/src/utils/autorest.ts +5 -10
  233. package/src/utils/crypto.ts +12 -2
  234. package/src/utils/errors.ts +2 -2
  235. package/src/utils/other.ts +5 -0
  236. package/src/utils/typed-data.ts +95 -0
  237. package/types-legacy/ts4.2/AeSdkBase.d.ts +21 -3
  238. package/types-legacy/ts4.2/AeSdkMethods.d.ts +9 -14
  239. package/types-legacy/ts4.2/AeSdkWallet.d.ts +1 -1
  240. package/types-legacy/ts4.2/Middleware.d.ts +46 -0
  241. package/types-legacy/ts4.2/MiddlewareSubscriber.d.ts +30 -0
  242. package/types-legacy/ts4.2/Node.d.ts +1 -1
  243. package/types-legacy/ts4.2/account/Base.d.ts +57 -3
  244. package/types-legacy/ts4.2/account/Generalized.d.ts +4 -0
  245. package/types-legacy/ts4.2/account/Ledger.d.ts +4 -0
  246. package/types-legacy/ts4.2/account/Memory.d.ts +12 -0
  247. package/types-legacy/ts4.2/account/Rpc.d.ts +5 -6
  248. package/types-legacy/ts4.2/aens.d.ts +1 -1
  249. package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +19 -0
  250. package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +2 -8
  251. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +1 -1
  252. package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +1 -7
  253. package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +0 -1
  254. package/types-legacy/ts4.2/apis/middleware/index.d.ts +2 -0
  255. package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +309 -0
  256. package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +1496 -0
  257. package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +102 -0
  258. package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +43 -0
  259. package/types-legacy/ts4.2/chain.d.ts +2 -1
  260. package/types-legacy/ts4.2/channel/Base.d.ts +1 -1
  261. package/types-legacy/ts4.2/contract/compiler/Base.d.ts +21 -0
  262. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +2 -0
  263. package/types-legacy/ts4.2/contract/compiler/Http.d.ts +2 -0
  264. package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +1 -0
  265. package/types-legacy/ts4.2/contract/delegation-signature.d.ts +2 -1
  266. package/types-legacy/ts4.2/deprecated.d.ts +14 -0
  267. package/types-legacy/ts4.2/index-browser.d.ts +20 -14
  268. package/types-legacy/ts4.2/spend.d.ts +2 -1
  269. package/types-legacy/ts4.2/tx/builder/constants.d.ts +0 -1
  270. package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +1 -1
  271. package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +1 -1
  272. package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +28 -153
  273. package/types-legacy/ts4.2/tx/builder/helpers.d.ts +8 -1
  274. package/types-legacy/ts4.2/tx/builder/index.d.ts +4 -2
  275. package/types-legacy/ts4.2/tx/builder/schema.d.ts +9 -9
  276. package/types-legacy/ts4.2/utils/crypto.d.ts +1 -0
  277. package/types-legacy/ts4.2/utils/errors.d.ts +2 -2
  278. package/types-legacy/ts4.2/utils/other.d.ts +1 -0
  279. package/types-legacy/ts4.2/utils/typed-data.d.ts +60 -0
  280. package/types-legacy/ts4.5/AeSdkBase.d.ts +21 -3
  281. package/types-legacy/ts4.5/AeSdkMethods.d.ts +9 -14
  282. package/types-legacy/ts4.5/AeSdkWallet.d.ts +1 -1
  283. package/types-legacy/ts4.5/Middleware.d.ts +46 -0
  284. package/types-legacy/ts4.5/MiddlewareSubscriber.d.ts +30 -0
  285. package/types-legacy/ts4.5/Node.d.ts +1 -1
  286. package/types-legacy/ts4.5/account/Base.d.ts +57 -3
  287. package/types-legacy/ts4.5/account/Generalized.d.ts +4 -0
  288. package/types-legacy/ts4.5/account/Ledger.d.ts +4 -0
  289. package/types-legacy/ts4.5/account/Memory.d.ts +12 -0
  290. package/types-legacy/ts4.5/account/Rpc.d.ts +5 -6
  291. package/types-legacy/ts4.5/aens.d.ts +1 -1
  292. package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +19 -0
  293. package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +2 -8
  294. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +1 -1
  295. package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +1 -7
  296. package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +0 -1
  297. package/types-legacy/ts4.5/apis/middleware/index.d.ts +2 -0
  298. package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +309 -0
  299. package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +1496 -0
  300. package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +102 -0
  301. package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +43 -0
  302. package/types-legacy/ts4.5/chain.d.ts +2 -1
  303. package/types-legacy/ts4.5/channel/Base.d.ts +1 -1
  304. package/types-legacy/ts4.5/contract/compiler/Base.d.ts +21 -0
  305. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +2 -0
  306. package/types-legacy/ts4.5/contract/compiler/Http.d.ts +2 -0
  307. package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +1 -0
  308. package/types-legacy/ts4.5/contract/delegation-signature.d.ts +2 -1
  309. package/types-legacy/ts4.5/deprecated.d.ts +14 -0
  310. package/types-legacy/ts4.5/index-browser.d.ts +20 -14
  311. package/types-legacy/ts4.5/spend.d.ts +2 -1
  312. package/types-legacy/ts4.5/tx/builder/constants.d.ts +0 -1
  313. package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +1 -1
  314. package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +1 -1
  315. package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +28 -153
  316. package/types-legacy/ts4.5/tx/builder/helpers.d.ts +8 -1
  317. package/types-legacy/ts4.5/tx/builder/index.d.ts +4 -2
  318. package/types-legacy/ts4.5/tx/builder/schema.d.ts +9 -9
  319. package/types-legacy/ts4.5/utils/crypto.d.ts +1 -0
  320. package/types-legacy/ts4.5/utils/errors.d.ts +2 -2
  321. package/types-legacy/ts4.5/utils/other.d.ts +1 -0
  322. package/types-legacy/ts4.5/utils/typed-data.d.ts +60 -0
@@ -240,11 +240,11 @@ export declare class UnexpectedChannelMessageError extends ChannelError {
240
240
  * @category exception
241
241
  */
242
242
  export declare class ChannelIncomingMessageError extends ChannelError {
243
- handlerError: BaseError;
243
+ handlerError: Error;
244
244
  incomingMessage: {
245
245
  [key: string]: any;
246
246
  };
247
- constructor(handlerError: BaseError, incomingMessage: {
247
+ constructor(handlerError: Error, incomingMessage: {
248
248
  [key: string]: any;
249
249
  });
250
250
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.mjs","names":["BaseError","Error","constructor","message","name","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","argumentName","requirement","argumentValue","IllegalArgumentError","ArgumentCountMismatchError","functionName","requiredCount","providedCount","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","height","TxTimedOutError","blocks","th","join","TypeError","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","dependency","version","geVersion","ltVersion","InternalError","UnexpectedTsError","arguments","length","undefined","UnavailableAccountError","address","AensPointerContextError","nameOrId","prefix","InsufficientNameFeeError","nameFee","minNameFee","toString","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","id","UnAuthorizedAccountError","onAccount","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","handlerError","incomingMessage","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","source","DuplicateContractError","InactiveContractError","contractAddress","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","transaction","NoSuchContractFunctionError","NotPayableFunctionError","amount","fn","MissingEventDefinitionError","eventNameHash","eventAddress","AmbiguousEventDefinitionError","matchedEvents","map","_ref","InvalidChecksumError","InvalidPasswordError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","nodeLength","UnknownPathNibbleError","nibble","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","tag","SchemaNotFoundError","key","TagNotFoundError","TxNotInChainError","txHash","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError"],"sources":["../../src/utils/errors.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport BigNumber from 'bignumber.js';\nimport { AensName, Int } from '../tx/builder/constants';\nimport * as Encoded from './encoder-types';\n\n/**\n * aepp-sdk originated error\n * @category exception\n */\nexport abstract class BaseError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'BaseError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AccountError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AensError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AensError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AeppError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AeppError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelError';\n }\n}\n\n/**\n * @category exception\n */\nexport class CompilerError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'CompilerError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ContractError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'ContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class CryptographyError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'CryptographyError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'NodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TransactionError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'TransactionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class WalletError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'WalletError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentError extends BaseError {\n constructor(argumentName: string, requirement: unknown, argumentValue: unknown) {\n super(`${argumentName} should be ${requirement}, got ${argumentValue} instead`);\n this.name = 'ArgumentError';\n }\n}\n\n/**\n * @category exception\n */\nexport class IllegalArgumentError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'IllegalArgumentError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentCountMismatchError extends BaseError {\n constructor(functionName: string, requiredCount: number, providedCount: number) {\n super(`${functionName} expects ${requiredCount} arguments, got ${providedCount} instead`);\n this.name = 'ArgumentCountMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientBalanceError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'InsufficientBalanceError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingParamError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingParamError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NoSerializerFoundError extends BaseError {\n constructor() {\n super('Byte serialization not supported');\n this.name = 'NoSerializerFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class RequestTimedOutError extends BaseError {\n constructor(height: number) {\n super(`Giving up at height ${height}`);\n this.name = 'RequestTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TxTimedOutError extends BaseError {\n constructor(blocks: number, th: Encoded.TxHash) {\n super([\n `Giving up after ${blocks} blocks mined`,\n `transaction hash: ${th}`,\n ].join(', '));\n this.name = 'TxTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TypeError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'TypeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedPlatformError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'UnsupportedPlatformError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedProtocolError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'UnsupportedProtocolError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NotImplementedError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'NotImplementedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedVersionError extends BaseError {\n constructor(dependency: string, version: string, geVersion: string, ltVersion: string) {\n super(`Unsupported ${dependency} version ${version}. Supported: >= ${geVersion} < ${ltVersion}`);\n this.name = 'UnsupportedVersionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InternalError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'InternalError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedTsError extends InternalError {\n constructor(message = 'Expected to not happen, required for TS') {\n super(message);\n this.name = 'UnexpectedTsError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnavailableAccountError extends AccountError {\n constructor(address: Encoded.AccountAddress) {\n super(`Account for ${address} not available`);\n this.name = 'UnavailableAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AensPointerContextError extends AensError {\n constructor(nameOrId: AensName | Encoded.Name, prefix: string) {\n super(`Name ${nameOrId} don't have pointers for ${prefix}`);\n this.name = 'AensPointerContextError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientNameFeeError extends AensError {\n constructor(nameFee: BigNumber, minNameFee: BigNumber) {\n super(`the provided fee ${nameFee.toString()} is not enough to execute the claim, required: ${minNameFee.toString()}`);\n this.name = 'InsufficientNameFeeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAensNameError extends AensError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidAensNameError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidRpcMessageError extends AeppError {\n constructor(message: string) {\n super(`Received invalid message: ${message}`);\n this.name = 'InvalidRpcMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingCallbackError extends AeppError {\n constructor(id: number) {\n super(`Can't find callback for this messageId ${id}`);\n this.name = 'MissingCallbackError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnAuthorizedAccountError extends AeppError {\n constructor(onAccount: Encoded.AccountAddress) {\n super(`You do not have access to account ${onAccount}`);\n this.name = 'UnAuthorizedAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownRpcClientError extends AeppError {\n constructor(id: string) {\n super(`RpcClient with id ${id} do not exist`);\n this.name = 'UnknownRpcClientError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsubscribedAccountError extends AeppError {\n constructor() {\n super('You are not subscribed for an account.');\n this.name = 'UnsubscribedAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelCallError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelCallError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelConnectionError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelConnectionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelPingTimedOutError extends ChannelError {\n constructor() {\n super('Server pong timed out');\n this.name = 'ChannelPingTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedChannelMessageError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'UnexpectedChannelMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelIncomingMessageError extends ChannelError {\n handlerError: BaseError;\n\n incomingMessage: { [key: string]: any };\n\n constructor(handlerError: BaseError, incomingMessage: { [key: string]: any }) {\n super(handlerError.message);\n this.handlerError = handlerError;\n this.incomingMessage = incomingMessage;\n this.name = 'ChannelIncomingMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownChannelStateError extends ChannelError {\n constructor() {\n super('State Channels FSM entered unknown state');\n this.name = 'UnknownChannelStateError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAuthDataError extends CompilerError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidAuthDataError';\n }\n}\n\n/**\n * @category exception\n */\nexport class BytecodeMismatchError extends ContractError {\n constructor(source: 'source code' | 'bytecode') {\n super(`Contract ${source} do not correspond to the bytecode deployed on the chain`);\n this.name = 'BytecodeMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateContractError extends ContractError {\n constructor() {\n super('Contract already deployed');\n this.name = 'DuplicateContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InactiveContractError extends ContractError {\n constructor(contractAddress: Encoded.ContractAddress) {\n super(`Contract with address ${contractAddress} not active`);\n this.name = 'InactiveContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidMethodInvocationError extends ContractError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidMethodInvocationError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractAddressError extends ContractError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingContractAddressError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractDefError extends ContractError {\n constructor() {\n super('Either ACI or sourceCode or sourceCodePath is required');\n this.name = 'MissingContractDefError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingFunctionNameError extends ContractError {\n constructor() {\n super('Function name is required');\n this.name = 'MissingFunctionNameError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeInvocationError extends ContractError {\n transaction?: Encoded.Transaction;\n\n constructor(message: string, transaction?: Encoded.Transaction) {\n super(`Invocation failed${message == null ? '' : `: \"${message}\"`}`);\n this.name = 'NodeInvocationError';\n this.transaction = transaction;\n }\n}\n\n/**\n * @category exception\n */\nexport class NoSuchContractFunctionError extends ContractError {\n constructor(name: string) {\n super(`Function ${name} doesn't exist in contract`);\n this.name = 'NoSuchContractFunctionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NotPayableFunctionError extends ContractError {\n constructor(amount: Int, fn: string) {\n super(\n `You try to pay \"${amount}\" to function \"${fn}\" which is not payable. `\n + 'Only payable function can accept coins',\n );\n this.name = 'NotPayableFunctionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingEventDefinitionError extends ContractError {\n constructor(eventNameHash: string, eventAddress: Encoded.ContractAddress) {\n super(\n `Can't find definition of ${eventNameHash} event emitted by ${eventAddress}`\n + ' (use omitUnknown option to ignore events like this)',\n );\n this.name = 'MissingEventDefinitionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AmbiguousEventDefinitionError extends ContractError {\n constructor(eventAddress: Encoded.ContractAddress, matchedEvents: Array<[string, string]>) {\n super(\n `Found multiple definitions of \"${matchedEvents[0][1]}\" event with different types emitted by`\n + ` ${eventAddress} in ${matchedEvents.map(([name]) => `\"${name}\"`).join(', ')} contracts`\n + ' (use contractAddressToName option to specify contract name corresponding to address)',\n );\n this.name = 'AmbiguousEventDefinitionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidChecksumError extends CryptographyError {\n constructor() {\n super('Invalid checksum');\n this.name = 'InvalidChecksumError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidPasswordError extends CryptographyError {\n constructor() {\n super('Invalid password or nonce');\n this.name = 'InvalidPasswordError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MerkleTreeHashMismatchError extends CryptographyError {\n constructor() {\n super('Node hash is not equal to provided one');\n this.name = 'MerkleTreeHashMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingNodeInTreeError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingNodeInTreeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownNodeLengthError extends CryptographyError {\n constructor(nodeLength: number) {\n super(`Unknown node length: ${nodeLength}`);\n this.name = 'UnknownNodeLengthError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownPathNibbleError extends CryptographyError {\n constructor(nibble: number) {\n super(`Unknown path nibble: ${nibble}`);\n this.name = 'UnknownPathNibbleError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateNodeError extends NodeError {\n constructor(name: string) {\n super(`Node with name ${name} already exist`);\n this.name = 'DuplicateNodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeNotFoundError extends NodeError {\n constructor(message: string) {\n super(message);\n this.name = 'NodeNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DecodeError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'DecodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class PayloadLengthError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'PayloadLengthError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DryRunError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'DryRunError';\n }\n}\n\n/**\n * @category exception\n */\nexport class IllegalBidFeeError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'IllegalBidFeeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidSignatureError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidSignatureError';\n }\n}\n\n/**\n * @category exception\n */\nexport class PrefixNotFoundError extends TransactionError {\n constructor(tag: number) {\n super(`Prefix for id-tag ${tag} not found.`);\n this.name = 'PrefixNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class SchemaNotFoundError extends TransactionError {\n constructor(key: string, version: number) {\n super(`Transaction schema not implemented for tag ${key} version ${version}`);\n this.name = 'SchemaNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TagNotFoundError extends TransactionError {\n constructor(prefix: string) {\n super(`Id tag for prefix ${prefix} not found.`);\n this.name = 'DecodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TxNotInChainError extends TransactionError {\n constructor(txHash: Encoded.TxHash) {\n super(`Transaction ${txHash} is removed from chain`);\n this.name = 'TxNotInChainError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AlreadyConnectedError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'AlreadyConnectedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NoWalletConnectedError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'NoWalletConnectedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class RpcConnectionError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'RpcConnectionError';\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"errors.mjs","names":["BaseError","Error","constructor","message","name","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","argumentName","requirement","argumentValue","IllegalArgumentError","ArgumentCountMismatchError","functionName","requiredCount","providedCount","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","height","TxTimedOutError","blocks","th","join","TypeError","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","dependency","version","geVersion","ltVersion","InternalError","UnexpectedTsError","arguments","length","undefined","UnavailableAccountError","address","AensPointerContextError","nameOrId","prefix","InsufficientNameFeeError","nameFee","minNameFee","toString","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","id","UnAuthorizedAccountError","onAccount","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","handlerError","incomingMessage","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","source","DuplicateContractError","InactiveContractError","contractAddress","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","transaction","NoSuchContractFunctionError","NotPayableFunctionError","amount","fn","MissingEventDefinitionError","eventNameHash","eventAddress","AmbiguousEventDefinitionError","matchedEvents","map","_ref","InvalidChecksumError","InvalidPasswordError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","nodeLength","UnknownPathNibbleError","nibble","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","tag","SchemaNotFoundError","key","TagNotFoundError","TxNotInChainError","txHash","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError"],"sources":["../../src/utils/errors.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport BigNumber from 'bignumber.js';\nimport { AensName, Int } from '../tx/builder/constants';\nimport * as Encoded from './encoder-types';\n\n/**\n * aepp-sdk originated error\n * @category exception\n */\nexport abstract class BaseError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'BaseError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AccountError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AensError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AensError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AeppError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'AeppError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelError';\n }\n}\n\n/**\n * @category exception\n */\nexport class CompilerError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'CompilerError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ContractError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'ContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class CryptographyError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'CryptographyError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'NodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TransactionError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'TransactionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class WalletError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'WalletError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentError extends BaseError {\n constructor(argumentName: string, requirement: unknown, argumentValue: unknown) {\n super(`${argumentName} should be ${requirement}, got ${argumentValue} instead`);\n this.name = 'ArgumentError';\n }\n}\n\n/**\n * @category exception\n */\nexport class IllegalArgumentError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'IllegalArgumentError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentCountMismatchError extends BaseError {\n constructor(functionName: string, requiredCount: number, providedCount: number) {\n super(`${functionName} expects ${requiredCount} arguments, got ${providedCount} instead`);\n this.name = 'ArgumentCountMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientBalanceError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'InsufficientBalanceError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingParamError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingParamError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NoSerializerFoundError extends BaseError {\n constructor() {\n super('Byte serialization not supported');\n this.name = 'NoSerializerFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class RequestTimedOutError extends BaseError {\n constructor(height: number) {\n super(`Giving up at height ${height}`);\n this.name = 'RequestTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TxTimedOutError extends BaseError {\n constructor(blocks: number, th: Encoded.TxHash) {\n super([\n `Giving up after ${blocks} blocks mined`,\n `transaction hash: ${th}`,\n ].join(', '));\n this.name = 'TxTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TypeError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'TypeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedPlatformError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'UnsupportedPlatformError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedProtocolError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'UnsupportedProtocolError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NotImplementedError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'NotImplementedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedVersionError extends BaseError {\n constructor(dependency: string, version: string, geVersion: string, ltVersion: string) {\n super(`Unsupported ${dependency} version ${version}. Supported: >= ${geVersion} < ${ltVersion}`);\n this.name = 'UnsupportedVersionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InternalError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'InternalError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedTsError extends InternalError {\n constructor(message = 'Expected to not happen, required for TS') {\n super(message);\n this.name = 'UnexpectedTsError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnavailableAccountError extends AccountError {\n constructor(address: Encoded.AccountAddress) {\n super(`Account for ${address} not available`);\n this.name = 'UnavailableAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AensPointerContextError extends AensError {\n constructor(nameOrId: AensName | Encoded.Name, prefix: string) {\n super(`Name ${nameOrId} don't have pointers for ${prefix}`);\n this.name = 'AensPointerContextError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientNameFeeError extends AensError {\n constructor(nameFee: BigNumber, minNameFee: BigNumber) {\n super(`the provided fee ${nameFee.toString()} is not enough to execute the claim, required: ${minNameFee.toString()}`);\n this.name = 'InsufficientNameFeeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAensNameError extends AensError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidAensNameError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidRpcMessageError extends AeppError {\n constructor(message: string) {\n super(`Received invalid message: ${message}`);\n this.name = 'InvalidRpcMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingCallbackError extends AeppError {\n constructor(id: number) {\n super(`Can't find callback for this messageId ${id}`);\n this.name = 'MissingCallbackError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnAuthorizedAccountError extends AeppError {\n constructor(onAccount: Encoded.AccountAddress) {\n super(`You do not have access to account ${onAccount}`);\n this.name = 'UnAuthorizedAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownRpcClientError extends AeppError {\n constructor(id: string) {\n super(`RpcClient with id ${id} do not exist`);\n this.name = 'UnknownRpcClientError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnsubscribedAccountError extends AeppError {\n constructor() {\n super('You are not subscribed for an account.');\n this.name = 'UnsubscribedAccountError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelCallError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelCallError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelConnectionError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'ChannelConnectionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelPingTimedOutError extends ChannelError {\n constructor() {\n super('Server pong timed out');\n this.name = 'ChannelPingTimedOutError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedChannelMessageError extends ChannelError {\n constructor(message: string) {\n super(message);\n this.name = 'UnexpectedChannelMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class ChannelIncomingMessageError extends ChannelError {\n handlerError: Error;\n\n incomingMessage: { [key: string]: any };\n\n constructor(handlerError: Error, incomingMessage: { [key: string]: any }) {\n super(handlerError.message);\n this.handlerError = handlerError;\n this.incomingMessage = incomingMessage;\n this.name = 'ChannelIncomingMessageError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownChannelStateError extends ChannelError {\n constructor() {\n super('State Channels FSM entered unknown state');\n this.name = 'UnknownChannelStateError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAuthDataError extends CompilerError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidAuthDataError';\n }\n}\n\n/**\n * @category exception\n */\nexport class BytecodeMismatchError extends ContractError {\n constructor(source: 'source code' | 'bytecode') {\n super(`Contract ${source} do not correspond to the bytecode deployed on the chain`);\n this.name = 'BytecodeMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateContractError extends ContractError {\n constructor() {\n super('Contract already deployed');\n this.name = 'DuplicateContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InactiveContractError extends ContractError {\n constructor(contractAddress: Encoded.ContractAddress) {\n super(`Contract with address ${contractAddress} not active`);\n this.name = 'InactiveContractError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidMethodInvocationError extends ContractError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidMethodInvocationError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractAddressError extends ContractError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingContractAddressError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractDefError extends ContractError {\n constructor() {\n super('Either ACI or sourceCode or sourceCodePath is required');\n this.name = 'MissingContractDefError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingFunctionNameError extends ContractError {\n constructor() {\n super('Function name is required');\n this.name = 'MissingFunctionNameError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeInvocationError extends ContractError {\n transaction?: Encoded.Transaction;\n\n constructor(message: string, transaction?: Encoded.Transaction) {\n super(`Invocation failed${message == null ? '' : `: \"${message}\"`}`);\n this.name = 'NodeInvocationError';\n this.transaction = transaction;\n }\n}\n\n/**\n * @category exception\n */\nexport class NoSuchContractFunctionError extends ContractError {\n constructor(name: string) {\n super(`Function ${name} doesn't exist in contract`);\n this.name = 'NoSuchContractFunctionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NotPayableFunctionError extends ContractError {\n constructor(amount: Int, fn: string) {\n super(\n `You try to pay \"${amount}\" to function \"${fn}\" which is not payable. `\n + 'Only payable function can accept coins',\n );\n this.name = 'NotPayableFunctionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingEventDefinitionError extends ContractError {\n constructor(eventNameHash: string, eventAddress: Encoded.ContractAddress) {\n super(\n `Can't find definition of ${eventNameHash} event emitted by ${eventAddress}`\n + ' (use omitUnknown option to ignore events like this)',\n );\n this.name = 'MissingEventDefinitionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AmbiguousEventDefinitionError extends ContractError {\n constructor(eventAddress: Encoded.ContractAddress, matchedEvents: Array<[string, string]>) {\n super(\n `Found multiple definitions of \"${matchedEvents[0][1]}\" event with different types emitted by`\n + ` ${eventAddress} in ${matchedEvents.map(([name]) => `\"${name}\"`).join(', ')} contracts`\n + ' (use contractAddressToName option to specify contract name corresponding to address)',\n );\n this.name = 'AmbiguousEventDefinitionError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidChecksumError extends CryptographyError {\n constructor() {\n super('Invalid checksum');\n this.name = 'InvalidChecksumError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidPasswordError extends CryptographyError {\n constructor() {\n super('Invalid password or nonce');\n this.name = 'InvalidPasswordError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MerkleTreeHashMismatchError extends CryptographyError {\n constructor() {\n super('Node hash is not equal to provided one');\n this.name = 'MerkleTreeHashMismatchError';\n }\n}\n\n/**\n * @category exception\n */\nexport class MissingNodeInTreeError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'MissingNodeInTreeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownNodeLengthError extends CryptographyError {\n constructor(nodeLength: number) {\n super(`Unknown node length: ${nodeLength}`);\n this.name = 'UnknownNodeLengthError';\n }\n}\n\n/**\n * @category exception\n */\nexport class UnknownPathNibbleError extends CryptographyError {\n constructor(nibble: number) {\n super(`Unknown path nibble: ${nibble}`);\n this.name = 'UnknownPathNibbleError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateNodeError extends NodeError {\n constructor(name: string) {\n super(`Node with name ${name} already exist`);\n this.name = 'DuplicateNodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NodeNotFoundError extends NodeError {\n constructor(message: string) {\n super(message);\n this.name = 'NodeNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DecodeError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'DecodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class PayloadLengthError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'PayloadLengthError';\n }\n}\n\n/**\n * @category exception\n */\nexport class DryRunError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'DryRunError';\n }\n}\n\n/**\n * @category exception\n */\nexport class IllegalBidFeeError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'IllegalBidFeeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class InvalidSignatureError extends TransactionError {\n constructor(message: string) {\n super(message);\n this.name = 'InvalidSignatureError';\n }\n}\n\n/**\n * @category exception\n */\nexport class PrefixNotFoundError extends TransactionError {\n constructor(tag: number) {\n super(`Prefix for id-tag ${tag} not found.`);\n this.name = 'PrefixNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class SchemaNotFoundError extends TransactionError {\n constructor(key: string, version: number) {\n super(`Transaction schema not implemented for tag ${key} version ${version}`);\n this.name = 'SchemaNotFoundError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TagNotFoundError extends TransactionError {\n constructor(prefix: string) {\n super(`Id tag for prefix ${prefix} not found.`);\n this.name = 'DecodeError';\n }\n}\n\n/**\n * @category exception\n */\nexport class TxNotInChainError extends TransactionError {\n constructor(txHash: Encoded.TxHash) {\n super(`Transaction ${txHash} is removed from chain`);\n this.name = 'TxNotInChainError';\n }\n}\n\n/**\n * @category exception\n */\nexport class AlreadyConnectedError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'AlreadyConnectedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class NoWalletConnectedError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'NoWalletConnectedError';\n }\n}\n\n/**\n * @category exception\n */\nexport class RpcConnectionError extends WalletError {\n constructor(message: string) {\n super(message);\n this.name = 'RpcConnectionError';\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hd-wallet.mjs","names":["nacl","_tweetnaclAuth","full","hmac","_bip32Path","fromString","aesjs","sha256hash","encode","Encoding","CryptographyError","concatBuffers","Ecb","ModeOfOperation","ecb","encryptKey","password","binaryData","hashedPasswordBytes","aesEcb","encrypt","decryptKey","encrypted","encryptedBytes","_Buffer","from","decrypt","DerivationError","constructor","message","name","ED25519_CURVE","HARDENED_OFFSET","deriveChild","_ref","index","secretKey","chainCode","indexBuffer","allocUnsafe","writeUInt32BE","data","alloc","I","IL","slice","IR","derivePathFromKey","path","key","segments","toPathArray","forEach","segment","i","reduce","parentKey","getMasterKeyFromSeed","seed","derivePathFromSeed","includes","masterKey","formatAccount","keys","publicKey","toString","AccountAddress","getKeyPair","sign","keyPair","fromSeed","generateSaveHDWalletFromSeed","walletKey","getSaveHDWalletAccounts","saveHDWallet","accountCount","Array","fill","undefined","map","_","idx","getHdWalletAccountFromSeed","accountIdx","derived"],"sources":["../../src/utils/hd-wallet.ts"],"sourcesContent":["import nacl from 'tweetnacl';\nimport { full as hmac } from 'tweetnacl-auth';\nimport { fromString } from 'bip32-path';\nimport aesjs from 'aes-js';\nimport { sha256hash, encode, Encoding } from './encoder';\nimport { CryptographyError } from './errors';\nimport { concatBuffers } from './other';\n\nconst Ecb = aesjs.ModeOfOperation.ecb;\n\n// TODO: use mnemonic encryption instead of AES\n/**\n * Encrypt given data using `password`\n * @param password - Password to encrypt with\n * @param binaryData - Data to encrypt\n * @returns Encrypted data\n */\nfunction encryptKey(password: string, binaryData: Uint8Array): Uint8Array {\n const hashedPasswordBytes = sha256hash(password);\n const aesEcb = new Ecb(hashedPasswordBytes);\n return aesEcb.encrypt(binaryData);\n}\n\n/**\n * Decrypt given data using `password`\n * @param password - Password to decrypt with\n * @param encrypted - Data to decrypt\n * @returns Decrypted data\n */\nfunction decryptKey(password: string, encrypted: Uint8Array): Uint8Array {\n const encryptedBytes = Buffer.from(encrypted);\n const hashedPasswordBytes = sha256hash(password);\n const aesEcb = new Ecb(hashedPasswordBytes);\n return aesEcb.decrypt(encryptedBytes);\n}\n\n/**\n * @category exception\n */\nexport class DerivationError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'DerivationError';\n }\n}\n\nconst ED25519_CURVE = Buffer.from('ed25519 seed');\nconst HARDENED_OFFSET = 0x80000000;\n\ninterface KeyTreeNode {\n secretKey: Uint8Array;\n chainCode: Uint8Array;\n}\n\ninterface HDWallet {\n secretKey: string;\n chainCode: string;\n}\n\ninterface Account {\n secretKey: string;\n publicKey: string;\n}\n\ntype Dec<N extends number> = [-1, 0, 1, 2, 3, 4][N];\ntype Bip32PathT<MaxLen extends number, H extends 'H' | 'h' | '\\''> = MaxLen extends -1\n ? `${number}${H}`\n : Bip32PathT<Dec<MaxLen>, H> | `${Bip32PathT<Dec<MaxLen>, H>}/${number}${H}`;\ntype Bip32Path<MaxLen extends number> =\n '' | Bip32PathT<MaxLen, 'H'> | Bip32PathT<MaxLen, 'h'> | Bip32PathT<MaxLen, '\\''>;\n\n/**\n * @category hd-wallet\n */\nexport function deriveChild({ secretKey, chainCode }: KeyTreeNode, index: number): KeyTreeNode {\n if (index < HARDENED_OFFSET) {\n throw new DerivationError(`Segment ${index} is not hardened`);\n }\n const indexBuffer = Buffer.allocUnsafe(4);\n indexBuffer.writeUInt32BE(index, 0);\n\n const data = concatBuffers([Buffer.alloc(1, 0), secretKey, indexBuffer]);\n\n const I = hmac(data, chainCode);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return {\n secretKey: IL,\n chainCode: IR,\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function derivePathFromKey(path: Bip32Path<5>, key: KeyTreeNode): KeyTreeNode {\n const segments = path === '' ? [] : fromString(path).toPathArray();\n segments.forEach((segment, i) => {\n if (segment < HARDENED_OFFSET) {\n throw new DerivationError(`Segment #${i + 1} is not hardened`);\n }\n });\n\n return segments.reduce((parentKey, segment) => deriveChild(parentKey, segment), key);\n}\n\n/**\n * @category hd-wallet\n */\nexport function getMasterKeyFromSeed(seed: Uint8Array): KeyTreeNode {\n const I = hmac(seed, ED25519_CURVE);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return {\n secretKey: IL,\n chainCode: IR,\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function derivePathFromSeed(path: 'm' | `m/${Bip32Path<5>}`, seed: Uint8Array): KeyTreeNode {\n if (!['m', 'm/'].includes(path.slice(0, 2))) {\n throw new DerivationError('Root element is required');\n }\n const masterKey = getMasterKeyFromSeed(seed);\n return derivePathFromKey(path.slice(2) as Bip32Path<5>, masterKey);\n}\n\nfunction formatAccount(keys: nacl.SignKeyPair): Account {\n const { secretKey, publicKey } = keys;\n return {\n secretKey: Buffer.from(secretKey).toString('hex'),\n publicKey: encode(publicKey, Encoding.AccountAddress),\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function getKeyPair(secretKey: Uint8Array): nacl.SignKeyPair {\n return nacl.sign.keyPair.fromSeed(secretKey);\n}\n\n/**\n * @category hd-wallet\n */\nexport function generateSaveHDWalletFromSeed(seed: Uint8Array, password: string): HDWallet {\n const walletKey = derivePathFromSeed('m/44h/457h', seed);\n return {\n secretKey: Buffer.from(encryptKey(password, walletKey.secretKey)).toString('hex'),\n chainCode: Buffer.from(encryptKey(password, walletKey.chainCode)).toString('hex'),\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function getSaveHDWalletAccounts(\n saveHDWallet: HDWallet,\n password: string,\n accountCount: number,\n): Account[] {\n const walletKey = {\n secretKey: decryptKey(password, Buffer.from(saveHDWallet.secretKey, 'hex')),\n chainCode: decryptKey(password, Buffer.from(saveHDWallet.chainCode, 'hex')),\n };\n return (new Array(accountCount)).fill(undefined)\n .map((_, idx) => formatAccount(getKeyPair(derivePathFromKey(`${idx}h/0h/0h`, walletKey).secretKey)));\n}\n\n/**\n * @category hd-wallet\n */\nexport const getHdWalletAccountFromSeed = (\n seed: Uint8Array,\n accountIdx: number,\n): Account & { idx: number } => {\n const walletKey = derivePathFromSeed('m/44h/457h', seed);\n const derived = derivePathFromKey(`${accountIdx}h/0h/0h`, walletKey);\n const keyPair = getKeyPair(derived.secretKey);\n return {\n ...formatAccount(keyPair),\n idx: accountIdx,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"hd-wallet.mjs","names":["nacl","_tweetnaclAuth","full","hmac","_bip32Path","fromString","aesjs","sha256hash","encode","Encoding","CryptographyError","concatBuffers","Ecb","ModeOfOperation","ecb","encryptKey","password","binaryData","hashedPasswordBytes","aesEcb","encrypt","decryptKey","encrypted","encryptedBytes","_Buffer","from","decrypt","DerivationError","constructor","message","name","ED25519_CURVE","HARDENED_OFFSET","deriveChild","_ref","index","secretKey","chainCode","indexBuffer","allocUnsafe","writeUInt32BE","data","alloc","I","IL","slice","IR","derivePathFromKey","path","key","segments","toPathArray","forEach","segment","i","reduce","parentKey","getMasterKeyFromSeed","seed","derivePathFromSeed","includes","masterKey","formatAccount","keys","publicKey","toString","AccountAddress","getKeyPair","sign","keyPair","fromSeed","generateSaveHDWalletFromSeed","walletKey","getSaveHDWalletAccounts","saveHDWallet","accountCount","Array","fill","undefined","map","_","idx","getHdWalletAccountFromSeed","accountIdx","derived"],"sources":["../../src/utils/hd-wallet.ts"],"sourcesContent":["import nacl from 'tweetnacl';\nimport { full as hmac } from 'tweetnacl-auth';\nimport { fromString } from 'bip32-path';\nimport aesjs from 'aes-js';\nimport { sha256hash, encode, Encoding } from './encoder';\nimport { CryptographyError } from './errors';\nimport { concatBuffers } from './other';\n\nconst Ecb = aesjs.ModeOfOperation.ecb;\n\n// TODO: use mnemonic encryption instead of AES\n/**\n * Encrypt given data using `password`\n * @param password - Password to encrypt with\n * @param binaryData - Data to encrypt\n * @returns Encrypted data\n */\nfunction encryptKey(password: string, binaryData: Uint8Array): Uint8Array {\n const hashedPasswordBytes = sha256hash(password);\n const aesEcb = new Ecb(hashedPasswordBytes);\n return aesEcb.encrypt(binaryData);\n}\n\n/**\n * Decrypt given data using `password`\n * @param password - Password to decrypt with\n * @param encrypted - Data to decrypt\n * @returns Decrypted data\n */\nfunction decryptKey(password: string, encrypted: Uint8Array): Uint8Array {\n const encryptedBytes = Buffer.from(encrypted);\n const hashedPasswordBytes = sha256hash(password);\n const aesEcb = new Ecb(hashedPasswordBytes);\n return aesEcb.decrypt(encryptedBytes);\n}\n\n/**\n * @category exception\n */\nexport class DerivationError extends CryptographyError {\n constructor(message: string) {\n super(message);\n this.name = 'DerivationError';\n }\n}\n\nconst ED25519_CURVE = Buffer.from('ed25519 seed');\nconst HARDENED_OFFSET = 0x80000000;\n\ninterface KeyTreeNode {\n secretKey: Uint8Array;\n chainCode: Uint8Array;\n}\n\ninterface HDWallet {\n secretKey: string;\n chainCode: string;\n}\n\ninterface Account {\n secretKey: string;\n publicKey: string;\n}\n\ntype Dec<N extends number> = [-1, 0, 1, 2, 3, 4][N];\ntype Bip32PathT<MaxLen extends number, H extends 'H' | 'h' | '\\''> = MaxLen extends -1\n ? `${number}${H}`\n : Bip32PathT<Dec<MaxLen>, H> | `${Bip32PathT<Dec<MaxLen>, H>}/${number}${H}`;\ntype Bip32Path<MaxLen extends number> =\n '' | Bip32PathT<MaxLen, 'H'> | Bip32PathT<MaxLen, 'h'> | Bip32PathT<MaxLen, '\\''>;\n\n/**\n * @category hd-wallet\n */\nexport function deriveChild({ secretKey, chainCode }: KeyTreeNode, index: number): KeyTreeNode {\n if (index < HARDENED_OFFSET) {\n throw new DerivationError(`Segment ${index} is not hardened`);\n }\n const indexBuffer = Buffer.allocUnsafe(4);\n indexBuffer.writeUInt32BE(index, 0);\n\n const data = concatBuffers([Buffer.alloc(1, 0), secretKey, indexBuffer]);\n\n const I = hmac(data, chainCode);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return {\n secretKey: IL,\n chainCode: IR,\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function derivePathFromKey(path: Bip32Path<5>, key: KeyTreeNode): KeyTreeNode {\n const segments = path === '' ? [] : fromString(path).toPathArray();\n segments.forEach((segment, i) => {\n if (segment < HARDENED_OFFSET) {\n throw new DerivationError(`Segment #${i + 1} is not hardened`);\n }\n });\n\n return segments.reduce((parentKey, segment) => deriveChild(parentKey, segment), key);\n}\n\n/**\n * @category hd-wallet\n */\nexport function getMasterKeyFromSeed(seed: Uint8Array): KeyTreeNode {\n const I = hmac(seed, ED25519_CURVE);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return {\n secretKey: IL,\n chainCode: IR,\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function derivePathFromSeed(path: 'm' | `m/${Bip32Path<5>}`, seed: Uint8Array): KeyTreeNode {\n if (!['m', 'm/'].includes(path.slice(0, 2))) {\n throw new DerivationError('Root element is required');\n }\n const masterKey = getMasterKeyFromSeed(seed);\n return derivePathFromKey(path.slice(2) as Bip32Path<5>, masterKey);\n}\n\nfunction formatAccount(keys: nacl.SignKeyPair): Account {\n const { secretKey, publicKey } = keys;\n return {\n secretKey: Buffer.from(secretKey).toString('hex'),\n publicKey: encode(publicKey, Encoding.AccountAddress),\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function getKeyPair(secretKey: Uint8Array): nacl.SignKeyPair {\n return nacl.sign.keyPair.fromSeed(secretKey);\n}\n\n/**\n * @category hd-wallet\n */\nexport function generateSaveHDWalletFromSeed(seed: Uint8Array, password: string): HDWallet {\n const walletKey = derivePathFromSeed('m/44h/457h', seed);\n return {\n secretKey: Buffer.from(encryptKey(password, walletKey.secretKey)).toString('hex'),\n chainCode: Buffer.from(encryptKey(password, walletKey.chainCode)).toString('hex'),\n };\n}\n\n/**\n * @category hd-wallet\n */\nexport function getSaveHDWalletAccounts(\n saveHDWallet: HDWallet,\n password: string,\n accountCount: number,\n): Account[] {\n const walletKey = {\n secretKey: decryptKey(password, Buffer.from(saveHDWallet.secretKey, 'hex')),\n chainCode: decryptKey(password, Buffer.from(saveHDWallet.chainCode, 'hex')),\n };\n return (new Array(accountCount)).fill(undefined)\n .map((_, idx) => formatAccount(getKeyPair(derivePathFromKey(`${idx}h/0h/0h`, walletKey).secretKey)));\n}\n\n/**\n * @category hd-wallet\n */\nexport const getHdWalletAccountFromSeed = (\n seed: Uint8Array,\n accountIdx: number,\n): Account & { idx: number } => {\n const walletKey = derivePathFromSeed('m/44h/457h', seed);\n const derived = derivePathFromKey(`${accountIdx}h/0h/0h`, walletKey);\n const keyPair = getKeyPair(derived.secretKey);\n return {\n ...formatAccount(keyPair),\n idx: accountIdx,\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"keystore.mjs","names":["nacl","v4","uuid","_aeternityArgon","hash","argon2id","getAddressFromPriv","InvalidPasswordError","DERIVED_KEY_FUNCTIONS","pass","salt","params","memlimit_kib","memoryCost","opslimit","timeCost","hashLength","type","CRYPTO_FUNCTIONS","encrypt","secretbox","decrypt","res","open","arguments","CRYPTO_DEFAULTS","secret_type","symmetric_alg","kdf","kdf_params","parallelism","plaintext","key","nonce","algo","length","undefined","ciphertext","deriveKey","password","kdfParams","recover","_ref","crypto","_Buffer","from","cipher_params","toString","dump","name","privateKey","randomBytes","options","opt","derivedKey","payload","version","public_key","id"],"sources":["../../src/utils/keystore.ts"],"sourcesContent":["import nacl from 'tweetnacl';\nimport { v4 as uuid } from '@aeternity/uuid';\nimport { hash, argon2id } from '@aeternity/argon2';\nimport { getAddressFromPriv } from './crypto';\nimport { InvalidPasswordError } from './errors';\n\nconst DERIVED_KEY_FUNCTIONS = {\n async argon2id(\n pass: string | Uint8Array,\n salt: string | Uint8Array,\n params: Partial<Keystore['crypto']['kdf_params']>,\n ): Promise<Uint8Array> {\n const { memlimit_kib: memoryCost, opslimit: timeCost } = params;\n\n return hash(pass, {\n hashLength: 32,\n salt,\n timeCost,\n memoryCost,\n type: argon2id,\n });\n },\n};\n\nconst CRYPTO_FUNCTIONS = {\n 'xsalsa20-poly1305': {\n encrypt: nacl.secretbox,\n decrypt(...args: Parameters<typeof nacl.secretbox.open>): Uint8Array {\n const res = nacl.secretbox.open(...args);\n if (res == null) throw new InvalidPasswordError();\n return res;\n },\n },\n};\n\nexport interface Keystore {\n name: string;\n version: 1;\n public_key: string;\n id: string;\n crypto: {\n secret_type: 'ed25519';\n symmetric_alg: keyof typeof CRYPTO_FUNCTIONS;\n ciphertext: string;\n cipher_params: {\n nonce: string;\n };\n kdf: keyof typeof DERIVED_KEY_FUNCTIONS;\n kdf_params: {\n memlimit_kib: number;\n opslimit: number;\n parallelism: number;\n salt: string;\n };\n };\n}\n\nconst CRYPTO_DEFAULTS = {\n secret_type: 'ed25519',\n symmetric_alg: 'xsalsa20-poly1305',\n kdf: 'argon2id',\n kdf_params: {\n memlimit_kib: 65536,\n opslimit: 3,\n parallelism: 1,\n },\n} as const;\n\n/**\n * Symmetric private key encryption using secret (derived) key.\n * @category keystore\n * @param plaintext - Data to be encrypted.\n * @param key - Secret key.\n * @param nonce - Randomly generated nonce.\n * @param algo - Encryption algorithm.\n * @returns Encrypted data.\n */\nfunction encrypt(\n plaintext: Uint8Array,\n key: Uint8Array,\n nonce: Uint8Array,\n algo: keyof typeof CRYPTO_FUNCTIONS = CRYPTO_DEFAULTS.symmetric_alg,\n): Uint8Array {\n return CRYPTO_FUNCTIONS[algo].encrypt(plaintext, nonce, key);\n}\n\n/**\n * Symmetric private key decryption using secret (derived) key.\n * @category keystore\n * @param ciphertext - Data to be decrypted.\n * @param key - Secret key.\n * @param nonce - Nonce from key-object.\n * @param algo - Encryption algorithm.\n * @returns Decrypted data.\n */\nfunction decrypt(\n ciphertext: Uint8Array,\n key: Uint8Array,\n nonce: Uint8Array,\n algo: keyof typeof CRYPTO_FUNCTIONS = CRYPTO_DEFAULTS.symmetric_alg,\n): Uint8Array {\n return CRYPTO_FUNCTIONS[algo].decrypt(ciphertext, nonce, key);\n}\n\n/**\n * Derive secret key from password with key derivation function.\n * @category keystore\n * @param password - User-supplied password.\n * @param nonce - Randomly generated nonce.\n * @param kdf - Key derivation function.\n * @param kdfParams - KDF parameters.\n * @returns Secret key derived from password.\n */\nasync function deriveKey(\n password: string | Uint8Array,\n nonce: string | Uint8Array,\n kdf: Keystore['crypto']['kdf'],\n kdfParams: Omit<Keystore['crypto']['kdf_params'], 'salt'>,\n): Promise<Uint8Array> {\n return DERIVED_KEY_FUNCTIONS[kdf](password, nonce, kdfParams);\n}\n\n/**\n * Recover plaintext private key from secret-storage key object.\n * @category keystore\n * @param password - Keystore object password.\n * @param keystore - Keystore object.\n * @returns Plaintext private key.\n */\nexport async function recover(\n password: string | Uint8Array,\n { crypto }: Keystore,\n): Promise<string> {\n const salt = Buffer.from(crypto.kdf_params.salt, 'hex');\n return Buffer.from(decrypt(\n Buffer.from(crypto.ciphertext, 'hex'),\n await deriveKey(password, salt, crypto.kdf, crypto.kdf_params),\n Buffer.from(crypto.cipher_params.nonce, 'hex'),\n crypto.symmetric_alg,\n )).toString('hex');\n}\n\n/**\n * Export private key to keystore secret-storage format.\n * @category keystore\n * @param name - Key name.\n * @param password - User-supplied password.\n * @param privateKey - Private key as hex-string or a Buffer.\n * @param nonce - Randomly generated 24byte nonce.\n * @param salt - Randomly generated 16byte salt.\n * @param options - Encryption parameters.\n * @param options.kdf - Key derivation function.\n * @param options.kdf_params - KDF parameters.\n */\nexport async function dump(\n name: string,\n password: string | Uint8Array,\n privateKey: string | Uint8Array,\n nonce: Uint8Array = nacl.randomBytes(24),\n salt: Uint8Array = nacl.randomBytes(16),\n options?: Partial<Keystore['crypto']>,\n): Promise<Keystore> {\n const opt = { ...CRYPTO_DEFAULTS, ...options };\n const derivedKey = await deriveKey(password, salt, opt.kdf, opt.kdf_params);\n const payload = typeof privateKey === 'string' ? Buffer.from(privateKey, 'hex') : privateKey;\n return {\n name,\n version: 1,\n public_key: getAddressFromPriv(payload),\n id: uuid(),\n crypto: {\n secret_type: opt.secret_type,\n symmetric_alg: opt.symmetric_alg,\n ciphertext: Buffer.from(\n encrypt(payload, derivedKey, nonce, opt.symmetric_alg),\n ).toString('hex'),\n cipher_params: { nonce: Buffer.from(nonce).toString('hex') },\n kdf: opt.kdf,\n kdf_params: {\n ...opt.kdf_params,\n salt: Buffer.from(salt).toString('hex'),\n },\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"keystore.mjs","names":["nacl","v4","uuid","_aeternityArgon","hash","argon2id","getAddressFromPriv","InvalidPasswordError","DERIVED_KEY_FUNCTIONS","pass","salt","params","memlimit_kib","memoryCost","opslimit","timeCost","hashLength","type","CRYPTO_FUNCTIONS","encrypt","secretbox","decrypt","res","open","arguments","CRYPTO_DEFAULTS","secret_type","symmetric_alg","kdf","kdf_params","parallelism","plaintext","key","nonce","algo","length","undefined","ciphertext","deriveKey","password","kdfParams","recover","_ref","crypto","_Buffer","from","cipher_params","toString","dump","name","privateKey","randomBytes","options","opt","derivedKey","payload","version","public_key","id"],"sources":["../../src/utils/keystore.ts"],"sourcesContent":["import nacl from 'tweetnacl';\nimport { v4 as uuid } from '@aeternity/uuid';\nimport { hash, argon2id } from '@aeternity/argon2';\nimport { getAddressFromPriv } from './crypto';\nimport { InvalidPasswordError } from './errors';\n\nconst DERIVED_KEY_FUNCTIONS = {\n async argon2id(\n pass: string | Uint8Array,\n salt: string | Uint8Array,\n params: Partial<Keystore['crypto']['kdf_params']>,\n ): Promise<Uint8Array> {\n const { memlimit_kib: memoryCost, opslimit: timeCost } = params;\n\n return hash(pass, {\n hashLength: 32,\n salt,\n timeCost,\n memoryCost,\n type: argon2id,\n });\n },\n};\n\nconst CRYPTO_FUNCTIONS = {\n 'xsalsa20-poly1305': {\n encrypt: nacl.secretbox,\n decrypt(...args: Parameters<typeof nacl.secretbox.open>): Uint8Array {\n const res = nacl.secretbox.open(...args);\n if (res == null) throw new InvalidPasswordError();\n return res;\n },\n },\n};\n\nexport interface Keystore {\n name: string;\n version: 1;\n public_key: string;\n id: string;\n crypto: {\n secret_type: 'ed25519';\n symmetric_alg: keyof typeof CRYPTO_FUNCTIONS;\n ciphertext: string;\n cipher_params: {\n nonce: string;\n };\n kdf: keyof typeof DERIVED_KEY_FUNCTIONS;\n kdf_params: {\n memlimit_kib: number;\n opslimit: number;\n parallelism: number;\n salt: string;\n };\n };\n}\n\nconst CRYPTO_DEFAULTS = {\n secret_type: 'ed25519',\n symmetric_alg: 'xsalsa20-poly1305',\n kdf: 'argon2id',\n kdf_params: {\n memlimit_kib: 65536,\n opslimit: 3,\n parallelism: 1,\n },\n} as const;\n\n/**\n * Symmetric private key encryption using secret (derived) key.\n * @category keystore\n * @param plaintext - Data to be encrypted.\n * @param key - Secret key.\n * @param nonce - Randomly generated nonce.\n * @param algo - Encryption algorithm.\n * @returns Encrypted data.\n */\nfunction encrypt(\n plaintext: Uint8Array,\n key: Uint8Array,\n nonce: Uint8Array,\n algo: keyof typeof CRYPTO_FUNCTIONS = CRYPTO_DEFAULTS.symmetric_alg,\n): Uint8Array {\n return CRYPTO_FUNCTIONS[algo].encrypt(plaintext, nonce, key);\n}\n\n/**\n * Symmetric private key decryption using secret (derived) key.\n * @category keystore\n * @param ciphertext - Data to be decrypted.\n * @param key - Secret key.\n * @param nonce - Nonce from key-object.\n * @param algo - Encryption algorithm.\n * @returns Decrypted data.\n */\nfunction decrypt(\n ciphertext: Uint8Array,\n key: Uint8Array,\n nonce: Uint8Array,\n algo: keyof typeof CRYPTO_FUNCTIONS = CRYPTO_DEFAULTS.symmetric_alg,\n): Uint8Array {\n return CRYPTO_FUNCTIONS[algo].decrypt(ciphertext, nonce, key);\n}\n\n/**\n * Derive secret key from password with key derivation function.\n * @category keystore\n * @param password - User-supplied password.\n * @param nonce - Randomly generated nonce.\n * @param kdf - Key derivation function.\n * @param kdfParams - KDF parameters.\n * @returns Secret key derived from password.\n */\nasync function deriveKey(\n password: string | Uint8Array,\n nonce: string | Uint8Array,\n kdf: Keystore['crypto']['kdf'],\n kdfParams: Omit<Keystore['crypto']['kdf_params'], 'salt'>,\n): Promise<Uint8Array> {\n return DERIVED_KEY_FUNCTIONS[kdf](password, nonce, kdfParams);\n}\n\n/**\n * Recover plaintext private key from secret-storage key object.\n * @category keystore\n * @param password - Keystore object password.\n * @param keystore - Keystore object.\n * @returns Plaintext private key.\n */\nexport async function recover(\n password: string | Uint8Array,\n { crypto }: Keystore,\n): Promise<string> {\n const salt = Buffer.from(crypto.kdf_params.salt, 'hex');\n return Buffer.from(decrypt(\n Buffer.from(crypto.ciphertext, 'hex'),\n await deriveKey(password, salt, crypto.kdf, crypto.kdf_params),\n Buffer.from(crypto.cipher_params.nonce, 'hex'),\n crypto.symmetric_alg,\n )).toString('hex');\n}\n\n/**\n * Export private key to keystore secret-storage format.\n * @category keystore\n * @param name - Key name.\n * @param password - User-supplied password.\n * @param privateKey - Private key as hex-string or a Buffer.\n * @param nonce - Randomly generated 24byte nonce.\n * @param salt - Randomly generated 16byte salt.\n * @param options - Encryption parameters.\n * @param options.kdf - Key derivation function.\n * @param options.kdf_params - KDF parameters.\n */\nexport async function dump(\n name: string,\n password: string | Uint8Array,\n privateKey: string | Uint8Array,\n nonce: Uint8Array = nacl.randomBytes(24),\n salt: Uint8Array = nacl.randomBytes(16),\n options?: Partial<Keystore['crypto']>,\n): Promise<Keystore> {\n const opt = { ...CRYPTO_DEFAULTS, ...options };\n const derivedKey = await deriveKey(password, salt, opt.kdf, opt.kdf_params);\n const payload = typeof privateKey === 'string' ? Buffer.from(privateKey, 'hex') : privateKey;\n return {\n name,\n version: 1,\n public_key: getAddressFromPriv(payload),\n id: uuid(),\n crypto: {\n secret_type: opt.secret_type,\n symmetric_alg: opt.symmetric_alg,\n ciphertext: Buffer.from(\n encrypt(payload, derivedKey, nonce, opt.symmetric_alg),\n ).toString('hex'),\n cipher_params: { nonce: Buffer.from(nonce).toString('hex') },\n kdf: opt.kdf,\n kdf_params: {\n ...opt.kdf_params,\n salt: Buffer.from(salt).toString('hex'),\n },\n },\n };\n}\n"],"mappings":"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"}
@@ -20,3 +20,4 @@ export declare function isKeyOfObject<T extends object>(key: string | number | s
20
20
  export declare function isItemOfArray<T>(item: any, array: readonly T[]): item is T;
21
21
  export declare function isAccountNotFoundError(error: Error): boolean;
22
22
  export type UnionToIntersection<Union> = (Union extends any ? (k: Union) => void : never) extends ((k: infer Intersection) => void) ? Intersection : never;
23
+ export declare function ensureError(error: unknown): asserts error is Error;
@@ -41,4 +41,9 @@ export function isAccountNotFoundError(error) {
41
41
  }
42
42
 
43
43
  // based on https://stackoverflow.com/a/50375286/6176994
44
+
45
+ export function ensureError(error) {
46
+ if (error instanceof Error) return;
47
+ throw error;
48
+ }
44
49
  //# sourceMappingURL=other.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"other.mjs","names":["RestError","pause","duration","Promise","resolve","setTimeout","mapObject","object","fn","Object","fromEntries","entries","map","isWebpack4Buffer","_Buffer","concat","Uint8Array","from","error","concatBuffers","list","totalLength","el","isKeyOfObject","key","isItemOfArray","item","array","includes","isAccountNotFoundError","statusCode","message"],"sources":["../../src/utils/other.ts"],"sourcesContent":["import { RestError } from '@azure/core-rest-pipeline';\n\nexport const pause = async (duration: number): Promise<void> => new Promise((resolve) => {\n setTimeout(resolve, duration);\n});\n\nexport const mapObject = <InputV, OutputV>(\n object: { [k: string]: InputV },\n fn: (\n value: [string, InputV], index: number, array: Array<[string, InputV]>\n ) => [number | string, OutputV],\n): { [k: string]: OutputV } => Object.fromEntries(Object.entries(object).map(fn));\n\n// remove after dropping webpack4 support\nconst isWebpack4Buffer = (() => {\n try {\n Buffer.concat([Uint8Array.from([])]);\n return false;\n } catch (error) {\n return true;\n }\n})();\n\nexport const concatBuffers = isWebpack4Buffer\n ? (list: readonly Uint8Array[], totalLength?: number): Buffer => (\n Buffer.concat(list.map((el) => Buffer.from(el)), totalLength)\n )\n : Buffer.concat;\n\n/**\n * Object key type guard\n * @param key - Maybe object key\n * @param object - Object\n */\nexport function isKeyOfObject<T extends object>(\n key: string | number | symbol,\n object: T,\n): key is keyof T {\n return key in object;\n}\n\n/**\n * Array item type guard\n * @param item - Maybe array item\n * @param array - Array\n */\nexport function isItemOfArray<T>(item: any, array: readonly T[]): item is T {\n return array.includes(item);\n}\n\nexport function isAccountNotFoundError(error: Error): boolean {\n return error instanceof RestError && error.statusCode === 404\n && error.message.includes('Account not found');\n}\n\n// based on https://stackoverflow.com/a/50375286/6176994\nexport type UnionToIntersection<Union> =\n (Union extends any ? (k: Union) => void : never) extends ((k: infer Intersection) => void)\n ? Intersection : never;\n"],"mappings":";;;;AAAA,SAASA,SAAS,QAAQ,2BAA2B;AAErD,OAAO,MAAMC,KAAK,GAAG,MAAOC,QAAgB,IAAoB,IAAIC,OAAO,CAAEC,OAAO,IAAK;EACvFC,UAAU,CAACD,OAAO,EAAEF,QAAQ,CAAC;AAC/B,CAAC,CAAC;AAEF,OAAO,MAAMI,SAAS,GAAGA,CACvBC,MAA+B,EAC/BC,EAE+B,KACFC,MAAM,CAACC,WAAW,CAACD,MAAM,CAACE,OAAO,CAACJ,MAAM,CAAC,CAACK,GAAG,CAACJ,EAAE,CAAC,CAAC;;AAEjF;AACA,MAAMK,gBAAgB,GAAG,CAAC,MAAM;EAC9B,IAAI;IACFC,OAAA,CAAOC,MAAM,CAAC,CAACC,UAAU,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,OAAO,KAAK;EACd,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,IAAI;EACb;AACF,CAAC,GAAG;AAEJ,OAAO,MAAMC,aAAa,GAAGN,gBAAgB,GACzC,CAACO,IAA2B,EAAEC,WAAoB,KAClDP,OAAA,CAAOC,MAAM,CAACK,IAAI,CAACR,GAAG,CAAEU,EAAE,IAAKR,OAAA,CAAOG,IAAI,CAACK,EAAE,CAAC,CAAC,EAAED,WAAW,CAC7D,GACCP,OAAA,CAAOC,MAAM;;AAEjB;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,aAAaA,CAC3BC,GAA6B,EAC7BjB,MAAS,EACO;EAChB,OAAOiB,GAAG,IAAIjB,MAAM;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASkB,aAAaA,CAAIC,IAAS,EAAEC,KAAmB,EAAa;EAC1E,OAAOA,KAAK,CAACC,QAAQ,CAACF,IAAI,CAAC;AAC7B;AAEA,OAAO,SAASG,sBAAsBA,CAACX,KAAY,EAAW;EAC5D,OAAOA,KAAK,YAAYlB,SAAS,IAAIkB,KAAK,CAACY,UAAU,KAAK,GAAG,IACxDZ,KAAK,CAACa,OAAO,CAACH,QAAQ,CAAC,mBAAmB,CAAC;AAClD;;AAEA"}
1
+ {"version":3,"file":"other.mjs","names":["RestError","pause","duration","Promise","resolve","setTimeout","mapObject","object","fn","Object","fromEntries","entries","map","isWebpack4Buffer","_Buffer","concat","Uint8Array","from","error","concatBuffers","list","totalLength","el","isKeyOfObject","key","isItemOfArray","item","array","includes","isAccountNotFoundError","statusCode","message","ensureError","Error"],"sources":["../../src/utils/other.ts"],"sourcesContent":["import { RestError } from '@azure/core-rest-pipeline';\n\nexport const pause = async (duration: number): Promise<void> => new Promise((resolve) => {\n setTimeout(resolve, duration);\n});\n\nexport const mapObject = <InputV, OutputV>(\n object: { [k: string]: InputV },\n fn: (\n value: [string, InputV], index: number, array: Array<[string, InputV]>\n ) => [number | string, OutputV],\n): { [k: string]: OutputV } => Object.fromEntries(Object.entries(object).map(fn));\n\n// remove after dropping webpack4 support\nconst isWebpack4Buffer = (() => {\n try {\n Buffer.concat([Uint8Array.from([])]);\n return false;\n } catch (error) {\n return true;\n }\n})();\n\nexport const concatBuffers = isWebpack4Buffer\n ? (list: readonly Uint8Array[], totalLength?: number): Buffer => (\n Buffer.concat(list.map((el) => Buffer.from(el)), totalLength)\n )\n : Buffer.concat;\n\n/**\n * Object key type guard\n * @param key - Maybe object key\n * @param object - Object\n */\nexport function isKeyOfObject<T extends object>(\n key: string | number | symbol,\n object: T,\n): key is keyof T {\n return key in object;\n}\n\n/**\n * Array item type guard\n * @param item - Maybe array item\n * @param array - Array\n */\nexport function isItemOfArray<T>(item: any, array: readonly T[]): item is T {\n return array.includes(item);\n}\n\nexport function isAccountNotFoundError(error: Error): boolean {\n return error instanceof RestError && error.statusCode === 404\n && error.message.includes('Account not found');\n}\n\n// based on https://stackoverflow.com/a/50375286/6176994\nexport type UnionToIntersection<Union> =\n (Union extends any ? (k: Union) => void : never) extends ((k: infer Intersection) => void)\n ? Intersection : never;\n\nexport function ensureError(error: unknown): asserts error is Error {\n if (error instanceof Error) return;\n throw error;\n}\n"],"mappings":";;;;AAAA,SAASA,SAAS,QAAQ,2BAA2B;AAErD,OAAO,MAAMC,KAAK,GAAG,MAAOC,QAAgB,IAAoB,IAAIC,OAAO,CAAEC,OAAO,IAAK;EACvFC,UAAU,CAACD,OAAO,EAAEF,QAAQ,CAAC;AAC/B,CAAC,CAAC;AAEF,OAAO,MAAMI,SAAS,GAAGA,CACvBC,MAA+B,EAC/BC,EAE+B,KACFC,MAAM,CAACC,WAAW,CAACD,MAAM,CAACE,OAAO,CAACJ,MAAM,CAAC,CAACK,GAAG,CAACJ,EAAE,CAAC,CAAC;;AAEjF;AACA,MAAMK,gBAAgB,GAAG,CAAC,MAAM;EAC9B,IAAI;IACFC,OAAA,CAAOC,MAAM,CAAC,CAACC,UAAU,CAACC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,OAAO,KAAK;EACd,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,IAAI;EACb;AACF,CAAC,EAAE,CAAC;AAEJ,OAAO,MAAMC,aAAa,GAAGN,gBAAgB,GACzC,CAACO,IAA2B,EAAEC,WAAoB,KAClDP,OAAA,CAAOC,MAAM,CAACK,IAAI,CAACR,GAAG,CAAEU,EAAE,IAAKR,OAAA,CAAOG,IAAI,CAACK,EAAE,CAAC,CAAC,EAAED,WAAW,CAC7D,GACCP,OAAA,CAAOC,MAAM;;AAEjB;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,aAAaA,CAC3BC,GAA6B,EAC7BjB,MAAS,EACO;EAChB,OAAOiB,GAAG,IAAIjB,MAAM;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASkB,aAAaA,CAAIC,IAAS,EAAEC,KAAmB,EAAa;EAC1E,OAAOA,KAAK,CAACC,QAAQ,CAACF,IAAI,CAAC;AAC7B;AAEA,OAAO,SAASG,sBAAsBA,CAACX,KAAY,EAAW;EAC5D,OAAOA,KAAK,YAAYlB,SAAS,IAAIkB,KAAK,CAACY,UAAU,KAAK,GAAG,IACxDZ,KAAK,CAACa,OAAO,CAACH,QAAQ,CAAC,mBAAmB,CAAC;AAClD;;AAEA;;AAKA,OAAO,SAASI,WAAWA,CAACd,KAAc,EAA0B;EAClE,IAAIA,KAAK,YAAYe,KAAK,EAAE;EAC5B,MAAMf,KAAK;AACb"}
@@ -1 +1 @@
1
- {"version":3,"file":"semver-satisfies.mjs","names":["semverSatisfies","version","geVersion","ltVersion","getComponents","v","split","map","i","versionComponents","geComponents","ltComponents","base","Math","max","componentsToNumber","components","reverse","reduce","acc","n","idx","vNumber","geNumber","ltNumber"],"sources":["../../src/utils/semver-satisfies.ts"],"sourcesContent":["export default function semverSatisfies(\n version: string,\n geVersion: string,\n ltVersion: string,\n): boolean {\n const getComponents = (v: string): number[] => v\n .split(/[-+]/)[0].split('.').map((i) => +i);\n\n const versionComponents = getComponents(version);\n const geComponents = getComponents(geVersion);\n const ltComponents = getComponents(ltVersion);\n\n const base = Math.max(...versionComponents, ...geComponents, ...ltComponents) + 1;\n const componentsToNumber = (components: number[]): number => components.reverse()\n .reduce((acc, n, idx) => acc + n * base ** idx, 0);\n\n const vNumber = componentsToNumber(versionComponents);\n const geNumber = componentsToNumber(geComponents);\n const ltNumber = componentsToNumber(ltComponents);\n return vNumber >= geNumber && vNumber < ltNumber;\n}\n"],"mappings":"AAAA,eAAe,SAASA,eAAeA,CACrCC,OAAe,EACfC,SAAiB,EACjBC,SAAiB,EACR;EACT,MAAMC,aAAa,GAAIC,CAAS,IAAeA,CAAC,CAC7CC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAEC,CAAC,IAAK,CAACA,CAAC,CAAC;EAE7C,MAAMC,iBAAiB,GAAGL,aAAa,CAACH,OAAO,CAAC;EAChD,MAAMS,YAAY,GAAGN,aAAa,CAACF,SAAS,CAAC;EAC7C,MAAMS,YAAY,GAAGP,aAAa,CAACD,SAAS,CAAC;EAE7C,MAAMS,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAGL,iBAAiB,EAAE,GAAGC,YAAY,EAAE,GAAGC,YAAY,CAAC,GAAG,CAAC;EACjF,MAAMI,kBAAkB,GAAIC,UAAoB,IAAaA,UAAU,CAACC,OAAO,EAAE,CAC9EC,MAAM,CAAC,CAACC,GAAG,EAAEC,CAAC,EAAEC,GAAG,KAAKF,GAAG,GAAGC,CAAC,GAAGR,IAAI,IAAIS,GAAG,EAAE,CAAC,CAAC;EAEpD,MAAMC,OAAO,GAAGP,kBAAkB,CAACN,iBAAiB,CAAC;EACrD,MAAMc,QAAQ,GAAGR,kBAAkB,CAACL,YAAY,CAAC;EACjD,MAAMc,QAAQ,GAAGT,kBAAkB,CAACJ,YAAY,CAAC;EACjD,OAAOW,OAAO,IAAIC,QAAQ,IAAID,OAAO,GAAGE,QAAQ;AAClD"}
1
+ {"version":3,"file":"semver-satisfies.mjs","names":["semverSatisfies","version","geVersion","ltVersion","getComponents","v","split","map","i","versionComponents","geComponents","ltComponents","base","Math","max","componentsToNumber","components","reverse","reduce","acc","n","idx","vNumber","geNumber","ltNumber"],"sources":["../../src/utils/semver-satisfies.ts"],"sourcesContent":["export default function semverSatisfies(\n version: string,\n geVersion: string,\n ltVersion: string,\n): boolean {\n const getComponents = (v: string): number[] => v\n .split(/[-+]/)[0].split('.').map((i) => +i);\n\n const versionComponents = getComponents(version);\n const geComponents = getComponents(geVersion);\n const ltComponents = getComponents(ltVersion);\n\n const base = Math.max(...versionComponents, ...geComponents, ...ltComponents) + 1;\n const componentsToNumber = (components: number[]): number => components.reverse()\n .reduce((acc, n, idx) => acc + n * base ** idx, 0);\n\n const vNumber = componentsToNumber(versionComponents);\n const geNumber = componentsToNumber(geComponents);\n const ltNumber = componentsToNumber(ltComponents);\n return vNumber >= geNumber && vNumber < ltNumber;\n}\n"],"mappings":"AAAA,eAAe,SAASA,eAAeA,CACrCC,OAAe,EACfC,SAAiB,EACjBC,SAAiB,EACR;EACT,MAAMC,aAAa,GAAIC,CAAS,IAAeA,CAAC,CAC7CC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAEC,CAAC,IAAK,CAACA,CAAC,CAAC;EAE7C,MAAMC,iBAAiB,GAAGL,aAAa,CAACH,OAAO,CAAC;EAChD,MAAMS,YAAY,GAAGN,aAAa,CAACF,SAAS,CAAC;EAC7C,MAAMS,YAAY,GAAGP,aAAa,CAACD,SAAS,CAAC;EAE7C,MAAMS,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAGL,iBAAiB,EAAE,GAAGC,YAAY,EAAE,GAAGC,YAAY,CAAC,GAAG,CAAC;EACjF,MAAMI,kBAAkB,GAAIC,UAAoB,IAAaA,UAAU,CAACC,OAAO,CAAC,CAAC,CAC9EC,MAAM,CAAC,CAACC,GAAG,EAAEC,CAAC,EAAEC,GAAG,KAAKF,GAAG,GAAGC,CAAC,GAAGR,IAAI,IAAIS,GAAG,EAAE,CAAC,CAAC;EAEpD,MAAMC,OAAO,GAAGP,kBAAkB,CAACN,iBAAiB,CAAC;EACrD,MAAMc,QAAQ,GAAGR,kBAAkB,CAACL,YAAY,CAAC;EACjD,MAAMc,QAAQ,GAAGT,kBAAkB,CAACJ,YAAY,CAAC;EACjD,OAAOW,OAAO,IAAIC,QAAQ,IAAID,OAAO,GAAGE,QAAQ;AAClD"}
@@ -1 +1 @@
1
- {"version":3,"file":"string.mjs","names":["snakeToPascal","s","replace","match","toUpperCase","pascalToSnake","toLowerCase"],"sources":["../../src/utils/string.ts"],"sourcesContent":["/**\n * Convert string from snake_case to PascalCase\n * @param s - String to convert\n * @returns Converted string\n */\nexport function snakeToPascal(s: string): string {\n return s.replace(/_./g, (match) => match[1].toUpperCase());\n}\n\n/**\n * Convert string from PascalCase to snake_case\n * @param s - String to convert\n * @returns Converted string\n */\nexport function pascalToSnake(s: string): string {\n return s.replace(/[A-Z]/g, (match) => `_${match.toLowerCase()}`);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,aAAaA,CAACC,CAAS,EAAU;EAC/C,OAAOA,CAAC,CAACC,OAAO,CAAC,KAAK,EAAGC,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,CAACC,WAAW,EAAE,CAAC;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACJ,CAAS,EAAU;EAC/C,OAAOA,CAAC,CAACC,OAAO,CAAC,QAAQ,EAAGC,KAAK,IAAM,IAAGA,KAAK,CAACG,WAAW,EAAG,EAAC,CAAC;AAClE"}
1
+ {"version":3,"file":"string.mjs","names":["snakeToPascal","s","replace","match","toUpperCase","pascalToSnake","toLowerCase"],"sources":["../../src/utils/string.ts"],"sourcesContent":["/**\n * Convert string from snake_case to PascalCase\n * @param s - String to convert\n * @returns Converted string\n */\nexport function snakeToPascal(s: string): string {\n return s.replace(/_./g, (match) => match[1].toUpperCase());\n}\n\n/**\n * Convert string from PascalCase to snake_case\n * @param s - String to convert\n * @returns Converted string\n */\nexport function pascalToSnake(s: string): string {\n return s.replace(/[A-Z]/g, (match) => `_${match.toLowerCase()}`);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,aAAaA,CAACC,CAAS,EAAU;EAC/C,OAAOA,CAAC,CAACC,OAAO,CAAC,KAAK,EAAGC,KAAK,IAAKA,KAAK,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACJ,CAAS,EAAU;EAC/C,OAAOA,CAAC,CAACC,OAAO,CAAC,QAAQ,EAAGC,KAAK,IAAM,IAAGA,KAAK,CAACG,WAAW,CAAC,CAAE,EAAC,CAAC;AAClE"}
@@ -0,0 +1,45 @@
1
+ /// <reference types="node" />
2
+ import { Encoded } from './encoder';
3
+ /**
4
+ * Hashes arbitrary object, can be used to inline the aci hash to contract source code
5
+ */
6
+ export declare function hashJson(data: unknown): Buffer;
7
+ export type AciValue = 'void' | 'unit' | 'int' | 'bool' | 'string' | 'bits' | 'hash' | 'signature' | 'address' | 'contract_pubkey' | 'Chain.ttl' | 'Chain.ga_meta_tx' | 'Chain.paying_for_tx' | 'Chain.base_tx' | 'AENS.pointee' | 'AENS.name' | 'MCL_BLS12_381.fr' | 'MCL_BLS12_381.fp' | {
8
+ 'Set.set': readonly [AciValue];
9
+ } | {
10
+ bytes: number;
11
+ } | {
12
+ list: readonly [AciValue];
13
+ } | {
14
+ map: readonly [AciValue, AciValue];
15
+ } | {
16
+ tuple: readonly AciValue[];
17
+ } | {
18
+ record: ReadonlyArray<{
19
+ name: string;
20
+ type: AciValue;
21
+ }>;
22
+ } | {
23
+ variant: ReadonlyArray<{
24
+ [key: string]: readonly AciValue[];
25
+ }>;
26
+ } | {
27
+ option: readonly [AciValue];
28
+ } | {
29
+ oracle: readonly [AciValue, AciValue];
30
+ } | {
31
+ oracle_query: readonly [AciValue, AciValue];
32
+ };
33
+ export interface Domain {
34
+ name?: string;
35
+ version?: number;
36
+ networkId?: string;
37
+ contractAddress?: Encoded.ContractAddress;
38
+ }
39
+ export declare function encodeFateValue(value: unknown, aci: AciValue): Encoded.ContractBytearray;
40
+ export declare function decodeFateValue(value: Encoded.ContractBytearray, aci: AciValue): Encoded.ContractBytearray;
41
+ /**
42
+ * Hashes domain object, can be used to inline domain hash to contract source code
43
+ */
44
+ export declare function hashDomain(domain: Domain): Buffer;
45
+ export declare function hashTypedData(data: Encoded.ContractBytearray, aci: AciValue, domain: Domain): Buffer;
@@ -0,0 +1,70 @@
1
+ // js extension is required for mjs build
2
+ // @ts-expect-error see https://github.com/aeternity/aepp-calldata-js/issues/216
3
+ // eslint-disable-next-line import/extensions
4
+ import ContractByteArrayEncoder from '@aeternity/aepp-calldata/src/ContractByteArrayEncoder.js';
5
+ // @ts-expect-error see https://github.com/aeternity/aepp-calldata-js/issues/216
6
+ // eslint-disable-next-line import/extensions
7
+ import AciTypeResolver from '@aeternity/aepp-calldata/src/AciTypeResolver.js';
8
+ import canonicalize from 'canonicalize';
9
+ import { decode } from "./encoder.mjs";
10
+ import { hash, messagePrefixLength } from "./crypto.mjs";
11
+ import { concatBuffers } from "./other.mjs";
12
+ /**
13
+ * Hashes arbitrary object, can be used to inline the aci hash to contract source code
14
+ */
15
+ export function hashJson(data) {
16
+ var _canonicalize;
17
+ return hash((_canonicalize = canonicalize(data)) !== null && _canonicalize !== void 0 ? _canonicalize : '');
18
+ }
19
+
20
+ // TODO: move this type to calldata library https://github.com/aeternity/aepp-calldata-js/issues/215
21
+ // based on https://github.com/aeternity/aepp-calldata-js/blob/82b5a98f9b308482627da8d7484d213e9cf87151/src/AciTypeResolver.js#L129
22
+ // TODO: replace with api on calldata side https://github.com/aeternity/aepp-calldata-js/issues/216
23
+ export function encodeFateValue(value, aci) {
24
+ const contractByteArrayEncoder = new ContractByteArrayEncoder();
25
+ const aciTypeResolver = new AciTypeResolver([]);
26
+ aciTypeResolver.isCustomType = () => false;
27
+ return contractByteArrayEncoder.encode(aciTypeResolver.resolveType(aci), value);
28
+ }
29
+
30
+ // TODO: replace with api on calldata side https://github.com/aeternity/aepp-calldata-js/issues/216
31
+ export function decodeFateValue(value, aci) {
32
+ const contractByteArrayEncoder = new ContractByteArrayEncoder();
33
+ const aciTypeResolver = new AciTypeResolver([]);
34
+ aciTypeResolver.isCustomType = () => false;
35
+ return contractByteArrayEncoder.decodeWithType(value, aciTypeResolver.resolveType(aci));
36
+ }
37
+
38
+ /**
39
+ * Hashes domain object, can be used to inline domain hash to contract source code
40
+ */
41
+ export function hashDomain(domain) {
42
+ const domainAci = {
43
+ record: [{
44
+ name: 'name',
45
+ type: {
46
+ option: ['string']
47
+ }
48
+ }, {
49
+ name: 'version',
50
+ type: {
51
+ option: ['int']
52
+ }
53
+ }, {
54
+ name: 'networkId',
55
+ type: {
56
+ option: ['string']
57
+ }
58
+ }, {
59
+ name: 'contractAddress',
60
+ type: {
61
+ option: ['contract_pubkey']
62
+ }
63
+ }]
64
+ };
65
+ return hash(decode(encodeFateValue(domain, domainAci)));
66
+ }
67
+ export function hashTypedData(data, aci, domain) {
68
+ return hash(concatBuffers([messagePrefixLength, new Uint8Array([0]), hashDomain(domain), hashJson(aci), hash(decode(data))]));
69
+ }
70
+ //# sourceMappingURL=typed-data.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typed-data.mjs","names":["ContractByteArrayEncoder","AciTypeResolver","canonicalize","decode","hash","messagePrefixLength","concatBuffers","hashJson","data","_canonicalize","encodeFateValue","value","aci","contractByteArrayEncoder","aciTypeResolver","isCustomType","encode","resolveType","decodeFateValue","decodeWithType","hashDomain","domain","domainAci","record","name","type","option","hashTypedData","Uint8Array"],"sources":["../../src/utils/typed-data.ts"],"sourcesContent":["// js extension is required for mjs build\n// @ts-expect-error see https://github.com/aeternity/aepp-calldata-js/issues/216\n// eslint-disable-next-line import/extensions\nimport ContractByteArrayEncoder from '@aeternity/aepp-calldata/src/ContractByteArrayEncoder.js';\n// @ts-expect-error see https://github.com/aeternity/aepp-calldata-js/issues/216\n// eslint-disable-next-line import/extensions\nimport AciTypeResolver from '@aeternity/aepp-calldata/src/AciTypeResolver.js';\nimport canonicalize from 'canonicalize';\nimport { Encoded, decode } from './encoder';\nimport { hash, messagePrefixLength } from './crypto';\nimport { concatBuffers } from './other';\n\n/**\n * Hashes arbitrary object, can be used to inline the aci hash to contract source code\n */\nexport function hashJson(data: unknown): Buffer {\n return hash(canonicalize(data) ?? '');\n}\n\n// TODO: move this type to calldata library https://github.com/aeternity/aepp-calldata-js/issues/215\n// based on https://github.com/aeternity/aepp-calldata-js/blob/82b5a98f9b308482627da8d7484d213e9cf87151/src/AciTypeResolver.js#L129\nexport type AciValue = 'void' | 'unit' | 'int' | 'bool' | 'string' | 'bits' | 'hash' | 'signature'\n| 'address' | 'contract_pubkey' | 'Chain.ttl' | 'Chain.ga_meta_tx' | 'Chain.paying_for_tx'\n| 'Chain.base_tx' | 'AENS.pointee' | 'AENS.name' | 'MCL_BLS12_381.fr' | 'MCL_BLS12_381.fp'\n| { 'Set.set': readonly [AciValue] }\n| { bytes: number }\n| { list: readonly [AciValue] }\n| { map: readonly [AciValue, AciValue] }\n| { tuple: readonly AciValue[] }\n| { record: ReadonlyArray<{ name: string; type: AciValue }> }\n| { variant: ReadonlyArray<{ [key: string]: readonly AciValue[] }> }\n| { option: readonly [AciValue] }\n| { oracle: readonly [AciValue, AciValue] }\n| { oracle_query: readonly [AciValue, AciValue] };\n\nexport interface Domain {\n name?: string;\n version?: number;\n networkId?: string;\n contractAddress?: Encoded.ContractAddress;\n}\n\n// TODO: replace with api on calldata side https://github.com/aeternity/aepp-calldata-js/issues/216\nexport function encodeFateValue(\n value: unknown,\n aci: AciValue,\n): Encoded.ContractBytearray {\n const contractByteArrayEncoder = new ContractByteArrayEncoder();\n const aciTypeResolver = new AciTypeResolver([]);\n aciTypeResolver.isCustomType = () => false;\n return contractByteArrayEncoder.encode(aciTypeResolver.resolveType(aci), value);\n}\n\n// TODO: replace with api on calldata side https://github.com/aeternity/aepp-calldata-js/issues/216\nexport function decodeFateValue(\n value: Encoded.ContractBytearray,\n aci: AciValue,\n): Encoded.ContractBytearray {\n const contractByteArrayEncoder = new ContractByteArrayEncoder();\n const aciTypeResolver = new AciTypeResolver([]);\n aciTypeResolver.isCustomType = () => false;\n return contractByteArrayEncoder.decodeWithType(value, aciTypeResolver.resolveType(aci));\n}\n\n/**\n * Hashes domain object, can be used to inline domain hash to contract source code\n */\nexport function hashDomain(domain: Domain): Buffer {\n const domainAci = {\n record: [{\n name: 'name',\n type: { option: ['string'] },\n }, {\n name: 'version',\n type: { option: ['int'] },\n }, {\n name: 'networkId',\n type: { option: ['string'] },\n }, {\n name: 'contractAddress',\n type: { option: ['contract_pubkey'] },\n }],\n } as const;\n return hash(decode(encodeFateValue(domain, domainAci)));\n}\n\nexport function hashTypedData(\n data: Encoded.ContractBytearray,\n aci: AciValue,\n domain: Domain,\n): Buffer {\n return hash(concatBuffers([\n messagePrefixLength, new Uint8Array([0]), hashDomain(domain), hashJson(aci), hash(decode(data)),\n ]));\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,wBAAwB,MAAM,0DAA0D;AAC/F;AACA;AACA,OAAOC,eAAe,MAAM,iDAAiD;AAC7E,OAAOC,YAAY,MAAM,cAAc;AAAC,SACtBC,MAAM;AAAA,SACfC,IAAI,EAAEC,mBAAmB;AAAA,SACzBC,aAAa;AAEtB;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAACC,IAAa,EAAU;EAAA,IAAAC,aAAA;EAC9C,OAAOL,IAAI,EAAAK,aAAA,GAACP,YAAY,CAACM,IAAI,CAAC,cAAAC,aAAA,cAAAA,aAAA,GAAI,EAAE,CAAC;AACvC;;AAEA;AACA;AAsBA;AACA,OAAO,SAASC,eAAeA,CAC7BC,KAAc,EACdC,GAAa,EACc;EAC3B,MAAMC,wBAAwB,GAAG,IAAIb,wBAAwB,CAAC,CAAC;EAC/D,MAAMc,eAAe,GAAG,IAAIb,eAAe,CAAC,EAAE,CAAC;EAC/Ca,eAAe,CAACC,YAAY,GAAG,MAAM,KAAK;EAC1C,OAAOF,wBAAwB,CAACG,MAAM,CAACF,eAAe,CAACG,WAAW,CAACL,GAAG,CAAC,EAAED,KAAK,CAAC;AACjF;;AAEA;AACA,OAAO,SAASO,eAAeA,CAC7BP,KAAgC,EAChCC,GAAa,EACc;EAC3B,MAAMC,wBAAwB,GAAG,IAAIb,wBAAwB,CAAC,CAAC;EAC/D,MAAMc,eAAe,GAAG,IAAIb,eAAe,CAAC,EAAE,CAAC;EAC/Ca,eAAe,CAACC,YAAY,GAAG,MAAM,KAAK;EAC1C,OAAOF,wBAAwB,CAACM,cAAc,CAACR,KAAK,EAAEG,eAAe,CAACG,WAAW,CAACL,GAAG,CAAC,CAAC;AACzF;;AAEA;AACA;AACA;AACA,OAAO,SAASQ,UAAUA,CAACC,MAAc,EAAU;EACjD,MAAMC,SAAS,GAAG;IAChBC,MAAM,EAAE,CAAC;MACPC,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE;QAAEC,MAAM,EAAE,CAAC,QAAQ;MAAE;IAC7B,CAAC,EAAE;MACDF,IAAI,EAAE,SAAS;MACfC,IAAI,EAAE;QAAEC,MAAM,EAAE,CAAC,KAAK;MAAE;IAC1B,CAAC,EAAE;MACDF,IAAI,EAAE,WAAW;MACjBC,IAAI,EAAE;QAAEC,MAAM,EAAE,CAAC,QAAQ;MAAE;IAC7B,CAAC,EAAE;MACDF,IAAI,EAAE,iBAAiB;MACvBC,IAAI,EAAE;QAAEC,MAAM,EAAE,CAAC,iBAAiB;MAAE;IACtC,CAAC;EACH,CAAU;EACV,OAAOtB,IAAI,CAACD,MAAM,CAACO,eAAe,CAACW,MAAM,EAAEC,SAAS,CAAC,CAAC,CAAC;AACzD;AAEA,OAAO,SAASK,aAAaA,CAC3BnB,IAA+B,EAC/BI,GAAa,EACbS,MAAc,EACN;EACR,OAAOjB,IAAI,CAACE,aAAa,CAAC,CACxBD,mBAAmB,EAAE,IAAIuB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAER,UAAU,CAACC,MAAM,CAAC,EAAEd,QAAQ,CAACK,GAAG,CAAC,EAAER,IAAI,CAACD,MAAM,CAACK,IAAI,CAAC,CAAC,CAChG,CAAC,CAAC;AACL"}