@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
@@ -1,154 +1,32 @@
1
1
  /// <reference types="node" />
2
- import _address from './address';
3
- import _array from './array';
4
- import _encoded from './encoded';
5
- import _entry from './entry';
6
- import _enumeration from './enumeration';
7
- import _map from './map';
8
- import _mptree from './mptree';
9
- import _nonce from './nonce';
10
- import _shortUIntConst from './short-u-int-const';
11
- import _wrapped from './wrapped';
12
- declare const abiVersion: {
13
- _getProtocolDetails(c: import("../constants").ConsensusProtocolVersion, tag: import("../constants").Tag): import("../constants").AbiVersion;
14
- serialize(value: import("../constants").AbiVersion | undefined, { tag }: {
15
- tag: import("../constants").Tag;
16
- }, { consensusProtocolVersion }: {
17
- consensusProtocolVersion?: import("../constants").ConsensusProtocolVersion | undefined;
18
- }): Buffer;
19
- prepare(value: import("../constants").AbiVersion | undefined, { tag }: {
20
- tag: import("../constants").Tag;
21
- }, options: {
22
- consensusProtocolVersion?: import("../constants").ConsensusProtocolVersion | undefined;
23
- onNode?: import("../../..").Node | undefined;
24
- }): Promise<import("../constants").AbiVersion | undefined>;
25
- deserialize(buffer: Buffer): import("../constants").AbiVersion;
26
- };
27
- declare const address: typeof _address;
28
- declare const array: typeof _array;
29
- declare const boolean: {
30
- serialize(value: boolean): Buffer;
31
- deserialize(buffer: Buffer): boolean;
32
- };
33
- declare const coinAmount: {
34
- serializeAettos(value: string | undefined): string;
35
- serialize(value: import("../constants").Int | undefined, params: {}, { denomination }: {
36
- denomination?: import("../../..").AE_AMOUNT_FORMATS | undefined;
37
- }): Buffer;
38
- deserialize(value: Buffer): string;
39
- };
40
- declare const ctVersion: {
41
- serialize(value: import("./ct-version").CtVersion | undefined, params: {}, { consensusProtocolVersion }: {
42
- consensusProtocolVersion?: import("../constants").ConsensusProtocolVersion | undefined;
43
- }): Buffer;
44
- prepare(value: import("./ct-version").CtVersion | undefined, params: {}, options: {
45
- consensusProtocolVersion?: import("../constants").ConsensusProtocolVersion | undefined;
46
- onNode?: import("../../..").Node | undefined;
47
- }): Promise<import("./ct-version").CtVersion | undefined>;
48
- deserialize(buffer: Buffer): import("./ct-version").CtVersion;
49
- };
50
- declare const deposit: {
51
- serialize(value: import("../constants").Int | undefined, options: {}, parameters: {
52
- denomination?: import("../../..").AE_AMOUNT_FORMATS | undefined;
53
- }): Buffer;
54
- serializeAettos(value: string | undefined): string;
55
- deserialize(value: Buffer): string;
56
- };
57
- declare const encoded: typeof _encoded;
58
- declare const entry: typeof _entry;
59
- declare const enumeration: typeof _enumeration;
60
- declare const fee: {
61
- serializeAettos(_value: string | undefined, { rebuildTx, unpackTx, buildTx, _computingMinFee, _pickBiggerFee, }: {
62
- rebuildTx: (params: any) => `tx_${string}`;
63
- unpackTx: typeof import("..").unpackTx;
64
- buildTx: typeof import("..").buildTx;
65
- _computingMinFee?: import("bignumber.js").BigNumber | undefined;
66
- _pickBiggerFee?: boolean | undefined;
67
- }): string;
68
- serialize(value: import("../constants").Int | undefined, params: {}, { denomination }: {
69
- denomination?: import("../../..").AE_AMOUNT_FORMATS | undefined;
70
- }): Buffer;
71
- deserialize(value: Buffer): string;
72
- };
73
- declare const field: {
74
- serialize(value: string): Buffer;
75
- deserialize(value: Buffer): string;
76
- };
77
- declare const gasLimit: {
78
- serialize(_value: number | undefined, { tag, rebuildTx, unpackTx, buildTx, _computingGasLimit, }: {
79
- tag: import("../constants").Tag;
80
- rebuildTx: (params: any) => any;
81
- unpackTx: typeof import("..").unpackTx;
82
- buildTx: typeof import("..").buildTx;
83
- _computingGasLimit?: number | undefined;
84
- }, { gasMax }: {
85
- gasMax?: number | undefined;
86
- }): Buffer;
87
- deserialize(value: Buffer): number;
88
- };
89
- declare const gasPrice: {
90
- serializeAettos(value?: string | undefined): string;
91
- serialize(value: import("../constants").Int | undefined, params: {}, { denomination }: {
92
- denomination?: import("../../..").AE_AMOUNT_FORMATS | undefined;
93
- }): Buffer;
94
- deserialize(value: Buffer): string;
95
- };
96
- declare const map: typeof _map;
97
- declare const mptree: typeof _mptree;
98
- declare const name: {
99
- serialize(value: `${string}.chain`): Buffer;
100
- deserialize(value: Buffer): `${string}.chain`;
101
- };
102
- declare const nameFee: {
103
- serializeAettos(_value: string | undefined, txFields: {
104
- name: `${string}.chain`;
105
- }): string;
106
- serialize(value: import("../constants").Int | undefined, txFields: {
107
- name: `${string}.chain`;
108
- }, parameters: {
109
- denomination?: import("../../..").AE_AMOUNT_FORMATS | undefined;
110
- }): Buffer;
111
- deserialize(value: Buffer): string;
112
- };
113
- declare const nameId: {
114
- serialize(value: `${string}.chain` | `nm_${string}`): Buffer;
115
- deserialize: (value: Buffer) => `nm_${string}`;
116
- };
117
- declare const nonce: typeof _nonce;
118
- declare const pointers: {
119
- serialize(pointers: (import("../../../apis/node").NamePointer & {
120
- id: `ch_${string}` | `ct_${string}` | `ok_${string}` | `ak_${string}` | `cm_${string}` | `nm_${string}`;
121
- })[]): Buffer[][];
122
- deserialize(pointers: [key: Buffer, id: Buffer][]): (import("../../../apis/node").NamePointer & {
123
- id: `ch_${string}` | `ct_${string}` | `ok_${string}` | `ak_${string}` | `cm_${string}` | `nm_${string}`;
124
- })[];
125
- };
126
- declare const raw: {
127
- serialize(buffer: Uint8Array): Buffer;
128
- deserialize(buffer: Buffer): Buffer;
129
- };
130
- declare const shortUInt: {
131
- serialize(value: number): Buffer;
132
- deserialize(value: Buffer): number;
133
- };
134
- declare const shortUIntConst: typeof _shortUIntConst;
135
- declare const string: {
136
- serialize(string: string): Buffer;
137
- deserialize(buffer: Buffer): string;
138
- };
139
- declare const ttl: {
140
- serialize(value: number | undefined): Buffer;
141
- prepare(value: number | undefined, params: {}, { onNode, absoluteTtl }: {
142
- onNode?: import("../../..").Node | undefined;
143
- absoluteTtl?: boolean | undefined;
144
- }): Promise<number | undefined>;
145
- deserialize(value: Buffer): number;
146
- };
147
- declare const uInt: {
148
- serialize(value: import("../constants").Int): Buffer;
149
- deserialize(value: Buffer): string;
150
- };
151
- declare const wrapped: typeof _wrapped;
2
+ import abiVersion from './abi-version';
3
+ import address from './address';
4
+ import array from './array';
5
+ import boolean from './boolean';
6
+ import coinAmount from './coin-amount';
7
+ import ctVersion from './ct-version';
8
+ import deposit from './deposit';
9
+ import encoded from './encoded';
10
+ import entry from './entry';
11
+ import enumeration from './enumeration';
12
+ import fee from './fee';
13
+ import field from './field';
14
+ import gasLimit from './gas-limit';
15
+ import gasPrice from './gas-price';
16
+ import map from './map';
17
+ import mptree from './mptree';
18
+ import name from './name';
19
+ import nameFee from './name-fee';
20
+ import nameId from './name-id';
21
+ import nonce from './nonce';
22
+ import pointers from './pointers';
23
+ import raw from './raw';
24
+ import shortUInt from './short-u-int';
25
+ import shortUIntConst from './short-u-int-const';
26
+ import string from './string';
27
+ import ttl from './ttl';
28
+ import uInt from './u-int';
29
+ import wrapped from './wrapped';
152
30
  export type BinaryData = Buffer | Buffer[] | Buffer[][] | Array<[Buffer, Array<[Buffer, Buffer[]]>]>;
153
31
  export interface Field {
154
32
  serialize: (value: any, options: any, parameters: any) => BinaryData;
@@ -1,58 +1,30 @@
1
- import _abiVersion from "./abi-version.mjs";
2
- import _address from "./address.mjs";
3
- import _array from "./array.mjs";
4
- import _boolean from "./boolean.mjs";
5
- import _coinAmount from "./coin-amount.mjs";
6
- import _ctVersion from "./ct-version.mjs";
7
- import _deposit from "./deposit.mjs";
8
- import _encoded from "./encoded.mjs";
9
- import _entry from "./entry.mjs";
10
- import _enumeration from "./enumeration.mjs";
11
- import _fee from "./fee.mjs";
12
- import _field from "./field.mjs";
13
- import _gasLimit from "./gas-limit.mjs";
14
- import _gasPrice from "./gas-price.mjs";
15
- import _map from "./map.mjs";
16
- import _mptree from "./mptree.mjs";
17
- import _name from "./name.mjs";
18
- import _nameFee from "./name-fee.mjs";
19
- import _nameId from "./name-id.mjs";
20
- import _nonce from "./nonce.mjs";
21
- import _pointers from "./pointers.mjs";
22
- import _raw from "./raw.mjs";
23
- import _shortUInt from "./short-u-int.mjs";
24
- import _shortUIntConst from "./short-u-int-const.mjs";
25
- import _string from "./string.mjs";
26
- import _ttl from "./ttl.mjs";
27
- import _uInt from "./u-int.mjs";
28
- import _wrapped from "./wrapped.mjs"; // TODO: remove after fixing https://github.com/Gerrit0/typedoc-plugin-missing-exports/issues/15
29
- const abiVersion = _abiVersion;
30
- const address = _address;
31
- const array = _array;
32
- const boolean = _boolean;
33
- const coinAmount = _coinAmount;
34
- const ctVersion = _ctVersion;
35
- const deposit = _deposit;
36
- const encoded = _encoded;
37
- const entry = _entry;
38
- const enumeration = _enumeration;
39
- const fee = _fee;
40
- const field = _field;
41
- const gasLimit = _gasLimit;
42
- const gasPrice = _gasPrice;
43
- const map = _map;
44
- const mptree = _mptree;
45
- const name = _name;
46
- const nameFee = _nameFee;
47
- const nameId = _nameId;
48
- const nonce = _nonce;
49
- const pointers = _pointers;
50
- const raw = _raw;
51
- const shortUInt = _shortUInt;
52
- const shortUIntConst = _shortUIntConst;
53
- const string = _string;
54
- const ttl = _ttl;
55
- const uInt = _uInt;
56
- const wrapped = _wrapped;
1
+ import abiVersion from "./abi-version.mjs";
2
+ import address from "./address.mjs";
3
+ import array from "./array.mjs";
4
+ import boolean from "./boolean.mjs";
5
+ import coinAmount from "./coin-amount.mjs";
6
+ import ctVersion from "./ct-version.mjs";
7
+ import deposit from "./deposit.mjs";
8
+ import encoded from "./encoded.mjs";
9
+ import entry from "./entry.mjs";
10
+ import enumeration from "./enumeration.mjs";
11
+ import fee from "./fee.mjs";
12
+ import field from "./field.mjs";
13
+ import gasLimit from "./gas-limit.mjs";
14
+ import gasPrice from "./gas-price.mjs";
15
+ import map from "./map.mjs";
16
+ import mptree from "./mptree.mjs";
17
+ import name from "./name.mjs";
18
+ import nameFee from "./name-fee.mjs";
19
+ import nameId from "./name-id.mjs";
20
+ import nonce from "./nonce.mjs";
21
+ import pointers from "./pointers.mjs";
22
+ import raw from "./raw.mjs";
23
+ import shortUInt from "./short-u-int.mjs";
24
+ import shortUIntConst from "./short-u-int-const.mjs";
25
+ import string from "./string.mjs";
26
+ import ttl from "./ttl.mjs";
27
+ import uInt from "./u-int.mjs";
28
+ import wrapped from "./wrapped.mjs";
57
29
  export { abiVersion, address, array, boolean, coinAmount, ctVersion, deposit, encoded, entry, enumeration, fee, field, gasLimit, gasPrice, map, mptree, name, nameFee, nameId, nonce, pointers, raw, shortUInt, shortUIntConst, string, ttl, uInt, wrapped };
58
30
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["_abiVersion","_address","_array","_boolean","_coinAmount","_ctVersion","_deposit","_encoded","_entry","_enumeration","_fee","_field","_gasLimit","_gasPrice","_map","_mptree","_name","_nameFee","_nameId","_nonce","_pointers","_raw","_shortUInt","_shortUIntConst","_string","_ttl","_uInt","_wrapped","abiVersion","address","array","boolean","coinAmount","ctVersion","deposit","encoded","entry","enumeration","fee","field","gasLimit","gasPrice","map","mptree","name","nameFee","nameId","nonce","pointers","raw","shortUInt","shortUIntConst","string","ttl","uInt","wrapped"],"sources":["../../../../src/tx/builder/field-types/index.ts"],"sourcesContent":["import _abiVersion from './abi-version';\nimport _address from './address';\nimport _array from './array';\nimport _boolean from './boolean';\nimport _coinAmount from './coin-amount';\nimport _ctVersion from './ct-version';\nimport _deposit from './deposit';\nimport _encoded from './encoded';\nimport _entry from './entry';\nimport _enumeration from './enumeration';\nimport _fee from './fee';\nimport _field from './field';\nimport _gasLimit from './gas-limit';\nimport _gasPrice from './gas-price';\nimport _map from './map';\nimport _mptree from './mptree';\nimport _name from './name';\nimport _nameFee from './name-fee';\nimport _nameId from './name-id';\nimport _nonce from './nonce';\nimport _pointers from './pointers';\nimport _raw from './raw';\nimport _shortUInt from './short-u-int';\nimport _shortUIntConst from './short-u-int-const';\nimport _string from './string';\nimport _ttl from './ttl';\nimport _uInt from './u-int';\nimport _wrapped from './wrapped';\n\n// TODO: remove after fixing https://github.com/Gerrit0/typedoc-plugin-missing-exports/issues/15\nconst abiVersion = _abiVersion;\nconst address = _address;\nconst array = _array;\nconst boolean = _boolean;\nconst coinAmount = _coinAmount;\nconst ctVersion = _ctVersion;\nconst deposit = _deposit;\nconst encoded = _encoded;\nconst entry = _entry;\nconst enumeration = _enumeration;\nconst fee = _fee;\nconst field = _field;\nconst gasLimit = _gasLimit;\nconst gasPrice = _gasPrice;\nconst map = _map;\nconst mptree = _mptree;\nconst name = _name;\nconst nameFee = _nameFee;\nconst nameId = _nameId;\nconst nonce = _nonce;\nconst pointers = _pointers;\nconst raw = _raw;\nconst shortUInt = _shortUInt;\nconst shortUIntConst = _shortUIntConst;\nconst string = _string;\nconst ttl = _ttl;\nconst uInt = _uInt;\nconst wrapped = _wrapped;\n\nexport type BinaryData = Buffer | Buffer[] | Buffer[][]\n| Array<[Buffer, Array<[Buffer, Buffer[]]>]>;\nexport interface Field {\n serialize: (value: any, options: any, parameters: any) => BinaryData;\n prepare?: (value: any, options: any, parameters: any) => Promise<any>;\n deserialize: (value: BinaryData, options: any) => any;\n recursiveType?: boolean;\n}\n\nexport {\n abiVersion,\n address,\n array,\n boolean,\n coinAmount,\n ctVersion,\n deposit,\n encoded,\n entry,\n enumeration,\n fee,\n field,\n gasLimit,\n gasPrice,\n map,\n mptree,\n name,\n nameFee,\n nameId,\n nonce,\n pointers,\n raw,\n shortUInt,\n shortUIntConst,\n string,\n ttl,\n uInt,\n wrapped,\n};\n"],"mappings":"OAAOA,WAAW;AAAA,OACXC,QAAQ;AAAA,OACRC,MAAM;AAAA,OACNC,QAAQ;AAAA,OACRC,WAAW;AAAA,OACXC,UAAU;AAAA,OACVC,QAAQ;AAAA,OACRC,QAAQ;AAAA,OACRC,MAAM;AAAA,OACNC,YAAY;AAAA,OACZC,IAAI;AAAA,OACJC,MAAM;AAAA,OACNC,SAAS;AAAA,OACTC,SAAS;AAAA,OACTC,IAAI;AAAA,OACJC,OAAO;AAAA,OACPC,KAAK;AAAA,OACLC,QAAQ;AAAA,OACRC,OAAO;AAAA,OACPC,MAAM;AAAA,OACNC,SAAS;AAAA,OACTC,IAAI;AAAA,OACJC,UAAU;AAAA,OACVC,eAAe;AAAA,OACfC,OAAO;AAAA,OACPC,IAAI;AAAA,OACJC,KAAK;AAAA,OACLC,QAAQ,uBAEf;AACA,MAAMC,UAAU,GAAG5B,WAAW;AAC9B,MAAM6B,OAAO,GAAG5B,QAAQ;AACxB,MAAM6B,KAAK,GAAG5B,MAAM;AACpB,MAAM6B,OAAO,GAAG5B,QAAQ;AACxB,MAAM6B,UAAU,GAAG5B,WAAW;AAC9B,MAAM6B,SAAS,GAAG5B,UAAU;AAC5B,MAAM6B,OAAO,GAAG5B,QAAQ;AACxB,MAAM6B,OAAO,GAAG5B,QAAQ;AACxB,MAAM6B,KAAK,GAAG5B,MAAM;AACpB,MAAM6B,WAAW,GAAG5B,YAAY;AAChC,MAAM6B,GAAG,GAAG5B,IAAI;AAChB,MAAM6B,KAAK,GAAG5B,MAAM;AACpB,MAAM6B,QAAQ,GAAG5B,SAAS;AAC1B,MAAM6B,QAAQ,GAAG5B,SAAS;AAC1B,MAAM6B,GAAG,GAAG5B,IAAI;AAChB,MAAM6B,MAAM,GAAG5B,OAAO;AACtB,MAAM6B,IAAI,GAAG5B,KAAK;AAClB,MAAM6B,OAAO,GAAG5B,QAAQ;AACxB,MAAM6B,MAAM,GAAG5B,OAAO;AACtB,MAAM6B,KAAK,GAAG5B,MAAM;AACpB,MAAM6B,QAAQ,GAAG5B,SAAS;AAC1B,MAAM6B,GAAG,GAAG5B,IAAI;AAChB,MAAM6B,SAAS,GAAG5B,UAAU;AAC5B,MAAM6B,cAAc,GAAG5B,eAAe;AACtC,MAAM6B,MAAM,GAAG5B,OAAO;AACtB,MAAM6B,GAAG,GAAG5B,IAAI;AAChB,MAAM6B,IAAI,GAAG5B,KAAK;AAClB,MAAM6B,OAAO,GAAG5B,QAAQ;AAWxB,SACEC,UAAU,EACVC,OAAO,EACPC,KAAK,EACLC,OAAO,EACPC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,KAAK,EACLC,WAAW,EACXC,GAAG,EACHC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRC,GAAG,EACHC,MAAM,EACNC,IAAI,EACJC,OAAO,EACPC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,GAAG,EACHC,SAAS,EACTC,cAAc,EACdC,MAAM,EACNC,GAAG,EACHC,IAAI,EACJC,OAAO"}
1
+ {"version":3,"file":"index.mjs","names":["abiVersion","address","array","boolean","coinAmount","ctVersion","deposit","encoded","entry","enumeration","fee","field","gasLimit","gasPrice","map","mptree","name","nameFee","nameId","nonce","pointers","raw","shortUInt","shortUIntConst","string","ttl","uInt","wrapped"],"sources":["../../../../src/tx/builder/field-types/index.ts"],"sourcesContent":["import abiVersion from './abi-version';\nimport address from './address';\nimport array from './array';\nimport boolean from './boolean';\nimport coinAmount from './coin-amount';\nimport ctVersion from './ct-version';\nimport deposit from './deposit';\nimport encoded from './encoded';\nimport entry from './entry';\nimport enumeration from './enumeration';\nimport fee from './fee';\nimport field from './field';\nimport gasLimit from './gas-limit';\nimport gasPrice from './gas-price';\nimport map from './map';\nimport mptree from './mptree';\nimport name from './name';\nimport nameFee from './name-fee';\nimport nameId from './name-id';\nimport nonce from './nonce';\nimport pointers from './pointers';\nimport raw from './raw';\nimport shortUInt from './short-u-int';\nimport shortUIntConst from './short-u-int-const';\nimport string from './string';\nimport ttl from './ttl';\nimport uInt from './u-int';\nimport wrapped from './wrapped';\n\nexport type BinaryData = Buffer | Buffer[] | Buffer[][]\n| Array<[Buffer, Array<[Buffer, Buffer[]]>]>;\nexport interface Field {\n serialize: (value: any, options: any, parameters: any) => BinaryData;\n prepare?: (value: any, options: any, parameters: any) => Promise<any>;\n deserialize: (value: BinaryData, options: any) => any;\n recursiveType?: boolean;\n}\n\nexport {\n abiVersion,\n address,\n array,\n boolean,\n coinAmount,\n ctVersion,\n deposit,\n encoded,\n entry,\n enumeration,\n fee,\n field,\n gasLimit,\n gasPrice,\n map,\n mptree,\n name,\n nameFee,\n nameId,\n nonce,\n pointers,\n raw,\n shortUInt,\n shortUIntConst,\n string,\n ttl,\n uInt,\n wrapped,\n};\n"],"mappings":"OAAOA,UAAU;AAAA,OACVC,OAAO;AAAA,OACPC,KAAK;AAAA,OACLC,OAAO;AAAA,OACPC,UAAU;AAAA,OACVC,SAAS;AAAA,OACTC,OAAO;AAAA,OACPC,OAAO;AAAA,OACPC,KAAK;AAAA,OACLC,WAAW;AAAA,OACXC,GAAG;AAAA,OACHC,KAAK;AAAA,OACLC,QAAQ;AAAA,OACRC,QAAQ;AAAA,OACRC,GAAG;AAAA,OACHC,MAAM;AAAA,OACNC,IAAI;AAAA,OACJC,OAAO;AAAA,OACPC,MAAM;AAAA,OACNC,KAAK;AAAA,OACLC,QAAQ;AAAA,OACRC,GAAG;AAAA,OACHC,SAAS;AAAA,OACTC,cAAc;AAAA,OACdC,MAAM;AAAA,OACNC,GAAG;AAAA,OACHC,IAAI;AAAA,OACJC,OAAO;AAWd,SACE3B,UAAU,EACVC,OAAO,EACPC,KAAK,EACLC,OAAO,EACPC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,KAAK,EACLC,WAAW,EACXC,GAAG,EACHC,KAAK,EACLC,QAAQ,EACRC,QAAQ,EACRC,GAAG,EACHC,MAAM,EACNC,IAAI,EACJC,OAAO,EACPC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,GAAG,EACHC,SAAS,EACTC,cAAc,EACdC,MAAM,EACNC,GAAG,EACHC,IAAI,EACJC,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"map.mjs","names":["Tag","encode","Encoding","decode","genMapField","encoding","tag","serialize","object","_ref","buildTx","Mtree","values","Object","entries","map","_ref2","key","value","MtreeValue","deserialize","buffer","_ref3","unpackTx","Transaction","fromEntries","filter","_ref4","ContractAddress","length","_ref5","recursiveType"],"sources":["../../../../src/tx/builder/field-types/map.ts"],"sourcesContent":["import { Tag } from '../constants';\nimport {\n encode, Encoding, Encoded, decode,\n} from '../../../utils/encoder';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';\n\nexport default function genMapField<E extends Encoding, T extends Tag>(encoding: E, tag: T): {\n serialize: (\n // TODO: replace with `TxParams & { tag: T }`,\n // but fix TS2502 value is referenced directly or indirectly in its own type annotation\n value: Record<Encoded.Generic<E>, any>, options: { buildTx: typeof buildTxType }\n ) => Buffer;\n deserialize: (\n value: Buffer, options: { unpackTx: typeof unpackTxType },\n // TODO: replace with `TxUnpacked & { tag: T }`,\n // TS2577 Return type annotation circularly references itself\n ) => Record<Encoded.Generic<E>, any>;\n recursiveType: true;\n} {\n return {\n serialize(object, { buildTx }) {\n return decode(buildTx({\n tag: Tag.Mtree,\n values: Object.entries(object).map(([key, value]) => ({\n tag: Tag.MtreeValue,\n key: decode(key as Encoded.Generic<E>),\n value: decode(buildTx({ ...value as any, tag })),\n })),\n }));\n },\n\n deserialize(buffer, { unpackTx }) {\n const { values } = unpackTx(encode(buffer, Encoding.Transaction), Tag.Mtree);\n return Object.fromEntries(values\n // TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066\n .filter(({ key }) => encoding !== Encoding.ContractAddress || key.length === 32)\n .map(({ key, value }) => [\n encode(key, encoding),\n unpackTx(encode(value, Encoding.Transaction), tag),\n ])) as Record<Encoded.Generic<E>, any>;\n },\n\n recursiveType: true,\n };\n}\n"],"mappings":"SAASA,GAAG;AAAA,SAEVC,MAAM,EAAEC,QAAQ,EAAWC,MAAM;AAInC,eAAe,SAASC,WAAWA,CAAoCC,QAAW,EAAEC,GAAM,EAYxF;EACA,OAAO;IACLC,SAASA,CAACC,MAAM,EAAAC,IAAA,EAAe;MAAA,IAAb;QAAEC;MAAQ,CAAC,GAAAD,IAAA;MAC3B,OAAON,MAAM,CAACO,OAAO,CAAC;QACpBJ,GAAG,EAAEN,GAAG,CAACW,KAAK;QACdC,MAAM,EAAEC,MAAM,CAACC,OAAO,CAACN,MAAM,CAAC,CAACO,GAAG,CAACC,KAAA;UAAA,IAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAAF,KAAA;UAAA,OAAM;YACpDV,GAAG,EAAEN,GAAG,CAACmB,UAAU;YACnBF,GAAG,EAAEd,MAAM,CAACc,GAAG,CAAuB;YACtCC,KAAK,EAAEf,MAAM,CAACO,OAAO,CAAC;cAAE,GAAGQ,KAAY;cAAEZ;YAAI,CAAC,CAAC;UACjD,CAAC;QAAA,CAAC;MACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEDc,WAAWA,CAACC,MAAM,EAAAC,KAAA,EAAgB;MAAA,IAAd;QAAEC;MAAS,CAAC,GAAAD,KAAA;MAC9B,MAAM;QAAEV;MAAO,CAAC,GAAGW,QAAQ,CAACtB,MAAM,CAACoB,MAAM,EAAEnB,QAAQ,CAACsB,WAAW,CAAC,EAAExB,GAAG,CAACW,KAAK,CAAC;MAC5E,OAAOE,MAAM,CAACY,WAAW,CAACb;MACxB;MAAA,CACCc,MAAM,CAACC,KAAA;QAAA,IAAC;UAAEV;QAAI,CAAC,GAAAU,KAAA;QAAA,OAAKtB,QAAQ,KAAKH,QAAQ,CAAC0B,eAAe,IAAIX,GAAG,CAACY,MAAM,KAAK,EAAE;MAAA,EAAC,CAC/Ed,GAAG,CAACe,KAAA;QAAA,IAAC;UAAEb,GAAG;UAAEC;QAAM,CAAC,GAAAY,KAAA;QAAA,OAAK,CACvB7B,MAAM,CAACgB,GAAG,EAAEZ,QAAQ,CAAC,EACrBkB,QAAQ,CAACtB,MAAM,CAACiB,KAAK,EAAEhB,QAAQ,CAACsB,WAAW,CAAC,EAAElB,GAAG,CAAC,CACnD;MAAA,EAAC,CAAC;IACP,CAAC;IAEDyB,aAAa,EAAE;EACjB,CAAC;AACH"}
1
+ {"version":3,"file":"map.mjs","names":["Tag","encode","Encoding","decode","genMapField","encoding","tag","serialize","object","_ref","buildTx","Mtree","values","Object","entries","map","_ref2","key","value","MtreeValue","deserialize","buffer","_ref3","unpackTx","Transaction","fromEntries","filter","_ref4","ContractAddress","length","_ref5","recursiveType"],"sources":["../../../../src/tx/builder/field-types/map.ts"],"sourcesContent":["import { Tag } from '../constants';\nimport {\n encode, Encoding, Encoded, decode,\n} from '../../../utils/encoder';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';\n\nexport default function genMapField<E extends Encoding, T extends Tag>(encoding: E, tag: T): {\n serialize: (\n // TODO: replace with `TxParams & { tag: T }`,\n // but fix TS2502 value is referenced directly or indirectly in its own type annotation\n value: Record<Encoded.Generic<E>, any>, options: { buildTx: typeof buildTxType }\n ) => Buffer;\n deserialize: (\n value: Buffer, options: { unpackTx: typeof unpackTxType },\n // TODO: replace with `TxUnpacked & { tag: T }`,\n // TS2577 Return type annotation circularly references itself\n ) => Record<Encoded.Generic<E>, any>;\n recursiveType: true;\n} {\n return {\n serialize(object, { buildTx }) {\n return decode(buildTx({\n tag: Tag.Mtree,\n values: Object.entries(object).map(([key, value]) => ({\n tag: Tag.MtreeValue,\n key: decode(key as Encoded.Generic<E>),\n value: decode(buildTx({ ...value as any, tag })),\n })),\n }));\n },\n\n deserialize(buffer, { unpackTx }) {\n const { values } = unpackTx(encode(buffer, Encoding.Transaction), Tag.Mtree);\n return Object.fromEntries(values\n // TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066\n .filter(({ key }) => encoding !== Encoding.ContractAddress || key.length === 32)\n .map(({ key, value }) => [\n encode(key, encoding),\n unpackTx(encode(value, Encoding.Transaction), tag),\n ])) as Record<Encoded.Generic<E>, any>;\n },\n\n recursiveType: true,\n };\n}\n"],"mappings":"SAASA,GAAG;AAAA,SAEVC,MAAM,EAAEC,QAAQ,EAAWC,MAAM;AAInC,eAAe,SAASC,WAAWA,CAAoCC,QAAW,EAAEC,GAAM,EAYxF;EACA,OAAO;IACLC,SAASA,CAACC,MAAM,EAAAC,IAAA,EAAe;MAAA,IAAb;QAAEC;MAAQ,CAAC,GAAAD,IAAA;MAC3B,OAAON,MAAM,CAACO,OAAO,CAAC;QACpBJ,GAAG,EAAEN,GAAG,CAACW,KAAK;QACdC,MAAM,EAAEC,MAAM,CAACC,OAAO,CAACN,MAAM,CAAC,CAACO,GAAG,CAACC,KAAA;UAAA,IAAC,CAACC,GAAG,EAAEC,KAAK,CAAC,GAAAF,KAAA;UAAA,OAAM;YACpDV,GAAG,EAAEN,GAAG,CAACmB,UAAU;YACnBF,GAAG,EAAEd,MAAM,CAACc,GAAyB,CAAC;YACtCC,KAAK,EAAEf,MAAM,CAACO,OAAO,CAAC;cAAE,GAAGQ,KAAY;cAAEZ;YAAI,CAAC,CAAC;UACjD,CAAC;QAAA,CAAC;MACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEDc,WAAWA,CAACC,MAAM,EAAAC,KAAA,EAAgB;MAAA,IAAd;QAAEC;MAAS,CAAC,GAAAD,KAAA;MAC9B,MAAM;QAAEV;MAAO,CAAC,GAAGW,QAAQ,CAACtB,MAAM,CAACoB,MAAM,EAAEnB,QAAQ,CAACsB,WAAW,CAAC,EAAExB,GAAG,CAACW,KAAK,CAAC;MAC5E,OAAOE,MAAM,CAACY,WAAW,CAACb;MACxB;MAAA,CACCc,MAAM,CAACC,KAAA;QAAA,IAAC;UAAEV;QAAI,CAAC,GAAAU,KAAA;QAAA,OAAKtB,QAAQ,KAAKH,QAAQ,CAAC0B,eAAe,IAAIX,GAAG,CAACY,MAAM,KAAK,EAAE;MAAA,EAAC,CAC/Ed,GAAG,CAACe,KAAA;QAAA,IAAC;UAAEb,GAAG;UAAEC;QAAM,CAAC,GAAAY,KAAA;QAAA,OAAK,CACvB7B,MAAM,CAACgB,GAAG,EAAEZ,QAAQ,CAAC,EACrBkB,QAAQ,CAACtB,MAAM,CAACiB,KAAK,EAAEhB,QAAQ,CAACsB,WAAW,CAAC,EAAElB,GAAG,CAAC,CACnD;MAAA,EAAC,CAAC;IACP,CAAC;IAEDyB,aAAa,EAAE;EACjB,CAAC;AACH"}
@@ -17,12 +17,12 @@ const {
17
17
  import { hash } from "../../../utils/crypto.mjs";
18
18
  import { MerkleTreeHashMismatchError, MissingNodeInTreeError, UnknownPathNibbleError, UnexpectedTsError, UnknownNodeLengthError, InternalError } from "../../../utils/errors.mjs";
19
19
  import { decode, encode, Encoding } from "../../../utils/encoder.mjs";
20
- var NodeType;
21
- (function (NodeType) {
20
+ var NodeType = /*#__PURE__*/function (NodeType) {
22
21
  NodeType[NodeType["Branch"] = 0] = "Branch";
23
22
  NodeType[NodeType["Extension"] = 1] = "Extension";
24
23
  NodeType[NodeType["Leaf"] = 2] = "Leaf";
25
- })(NodeType || (NodeType = {}));
24
+ return NodeType;
25
+ }(NodeType || {});
26
26
  var _rootHash = /*#__PURE__*/new WeakMap();
27
27
  var _isComplete = /*#__PURE__*/new WeakMap();
28
28
  var _nodes = /*#__PURE__*/new WeakMap();
@@ -1 +1 @@
1
- {"version":3,"file":"mptree.mjs","names":["_rlp","encode","rlpEncode","hash","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownPathNibbleError","UnexpectedTsError","UnknownNodeLengthError","InternalError","decode","Encoding","NodeType","_rootHash","WeakMap","_isComplete","_nodes","_encoding","_tag","_unpackTx","_getRaw","WeakSet","_entriesRaw","MPTree","isComplete","_classPrivateFieldGet","constructor","binary","encoding","tag","unpTx","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","_classPrivateFieldSet","toString","Object","fromEntries","map","node","keys","length","entries","forEach","_ref","key","_classStaticPrivateMethodGet","_nodeHash","call","type","_parseNode","Branch","slice","filter","n","Extension","Leaf","isEqual","tree","serialize","_Buffer","from","_ref2","mptHash","get","d","_classPrivateMethodGet","_getRaw2","Transaction","toObject","_entriesRaw2","_ref3","k","ContractAddress","_ref4","v","nibble","includes","path","_key","searchFrom","undefined","substring","rec","t","idx","_ref6","_ref7","push","genMPTreeField","deserialize","_ref5","unpackTx"],"sources":["../../../../src/tx/builder/field-types/mptree.ts"],"sourcesContent":["import { encode as rlpEncode, Input } from 'rlp';\nimport { Tag } from '../constants';\nimport { hash } from '../../../utils/crypto';\nimport {\n MerkleTreeHashMismatchError,\n MissingNodeInTreeError,\n UnknownPathNibbleError,\n UnexpectedTsError,\n UnknownNodeLengthError,\n InternalError,\n} from '../../../utils/errors';\nimport {\n decode, encode, Encoded, Encoding,\n} from '../../../utils/encoder';\nimport type { unpackTx } from '..';\nimport type { TxUnpacked } from '../schema.generated';\n\nenum NodeType {\n Branch,\n Extension,\n Leaf,\n}\n\ntype MPTreeBinary = [Buffer, Array<[Buffer, Buffer[]]>];\n\nclass MPTree<E extends Encoding, T extends Tag> {\n readonly #rootHash: string;\n\n #isComplete = true;\n\n get isComplete(): boolean {\n return this.#isComplete;\n }\n\n readonly #nodes: { [key: string]: Buffer[] };\n\n readonly #encoding: E;\n\n readonly #tag: T;\n\n readonly #unpackTx: typeof unpackTx;\n\n static #nodeHash(node: Input): string {\n return Buffer.from(hash(rlpEncode(node))).toString('hex');\n }\n\n /**\n * Deserialize Merkle Patricia Tree\n * @param binary - Binary\n * @param tag - Tag to use to decode value\n * @param unpTx - Implementation of unpackTx use to decode values\n * @returns Merkle Patricia Tree\n */\n constructor(binary: MPTreeBinary, encoding: E, tag: T, unpTx: typeof unpackTx) {\n this.#encoding = encoding;\n this.#tag = tag;\n this.#unpackTx = unpTx;\n this.#rootHash = binary[0].toString('hex');\n this.#nodes = Object.fromEntries(\n binary[1].map((node) => [node[0].toString('hex'), node[1]]),\n );\n\n if (this.#nodes[this.#rootHash] == null) {\n if (Object.keys(this.#nodes).length !== 0) {\n throw new MissingNodeInTreeError('Can\\'t find a node by root hash');\n }\n this.#isComplete = false;\n return;\n }\n Object.entries(this.#nodes).forEach(([key, node]) => {\n if (MPTree.#nodeHash(node) !== key) throw new MerkleTreeHashMismatchError();\n const { type } = MPTree.#parseNode(node);\n switch (type) {\n case NodeType.Branch:\n node\n .slice(0, 16)\n .filter((n) => n.length)\n .forEach((n) => {\n // TODO: enable after resolving https://github.com/aeternity/aeternity/issues/4066\n // if (n.length !== 32) {\n // throw new ArgumentError('MPTree branch item length', 32, n.length);\n // }\n if (this.#nodes[n.toString('hex')] == null) this.#isComplete = false;\n });\n break;\n case NodeType.Extension:\n if (this.#nodes[node[1].toString('hex')] == null) {\n throw new MissingNodeInTreeError('Can\\'t find a node by hash in extension node');\n }\n break;\n case NodeType.Leaf:\n break;\n default:\n throw new InternalError(`Unknown MPTree node type: ${type}`);\n }\n });\n }\n\n isEqual(tree: MPTree<E, T>): boolean {\n return this.#rootHash === tree.#rootHash;\n }\n\n static #parseNode(node: Buffer[]): { type: NodeType; value?: Buffer; path?: string } {\n switch (node.length) {\n case 17:\n return {\n type: NodeType.Branch,\n ...node[16].length !== 0 && { value: node[16] },\n };\n case 2: {\n const nibble = node[0][0] >> 4; // eslint-disable-line no-bitwise\n if (nibble > 3) throw new UnknownPathNibbleError(nibble);\n const type = nibble <= 1 ? NodeType.Extension : NodeType.Leaf;\n const slice = [0, 2].includes(nibble) ? 2 : 1;\n return {\n type,\n ...type === NodeType.Leaf && { value: node[1] },\n path: node[0].toString('hex').slice(slice),\n };\n }\n default:\n throw new UnknownNodeLengthError(node.length);\n }\n }\n\n /**\n * Serialize Merkle Patricia Tree\n * @returns Binary\n */\n serialize(): MPTreeBinary {\n return [\n Buffer.from(this.#rootHash, 'hex'),\n Object.entries(this.#nodes).map(([mptHash, value]) => ([\n Buffer.from(mptHash, 'hex'),\n value,\n ])),\n ];\n }\n\n /**\n * Retrieve value from Merkle Patricia Tree\n * @param _key - The key of the element to retrieve\n * @returns Value associated to the specified key\n */\n #getRaw(_key: string): Buffer | undefined {\n let searchFrom = this.#rootHash;\n let key = _key;\n while (true) { // eslint-disable-line no-constant-condition\n const node = this.#nodes[searchFrom];\n if (node == null) {\n if (!this.isComplete) return undefined;\n throw new InternalError('Can\\'t find node in complete tree');\n }\n const { type, value, path } = MPTree.#parseNode(node);\n switch (type) {\n case NodeType.Branch:\n if (key.length === 0) return value;\n searchFrom = node[+`0x${key[0]}`].toString('hex');\n key = key.substring(1);\n break;\n case NodeType.Extension:\n if (key.substring(0, path?.length) !== path) return undefined;\n searchFrom = node[1].toString('hex');\n key = key.substring(path.length);\n break;\n case NodeType.Leaf:\n if (path !== key) return undefined;\n return value;\n default:\n throw new InternalError(`Unknown MPTree node type: ${type}`);\n }\n }\n }\n\n /**\n * Retrieve value from Merkle Patricia Tree\n * @param key - The key of the element to retrieve\n * @returns Value associated to the specified key\n */\n get(key: Encoded.Generic<E>): TxUnpacked & { tag: T } | undefined {\n const d = this.#getRaw(decode(key).toString('hex'));\n if (d == null) return d;\n return this.#unpackTx(encode(d, Encoding.Transaction), this.#tag);\n }\n\n #entriesRaw(): Array<[string, Buffer]> {\n const entries: Array<[string, Buffer]> = [];\n const rec = (searchFrom: string, key: string): void => {\n const node = this.#nodes[searchFrom];\n if (node == null) {\n if (!this.isComplete) return;\n throw new InternalError('Can\\'t find node in complete tree');\n }\n const { type, value, path } = MPTree.#parseNode(node);\n switch (type) {\n case NodeType.Branch:\n node\n .slice(0, 16)\n .map((t, idx): [typeof t, number] => [t, idx])\n .filter(([t]) => t.length)\n .forEach(([t, idx]) => rec(t.toString('hex'), key + idx.toString(16)));\n if (value != null) entries.push([key, value]);\n break;\n case NodeType.Extension:\n rec(node[1].toString('hex'), key + path);\n break;\n case NodeType.Leaf:\n if (value == null) throw new UnexpectedTsError();\n entries.push([key + path, value]);\n break;\n default:\n throw new InternalError(`Unknown MPTree node type: ${type}`);\n }\n };\n rec(this.#rootHash, '');\n return entries;\n }\n\n toObject(): Record<Encoded.Generic<E>, TxUnpacked & { tag: T }> {\n return Object.fromEntries(this.#entriesRaw()\n // TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066\n .filter(([k]) => this.#encoding !== Encoding.ContractAddress || k.length !== 66)\n .map(([k, v]) => [\n encode(Buffer.from(k, 'hex'), this.#encoding),\n this.#unpackTx(encode(v, Encoding.Transaction), this.#tag),\n ])) as Record<Encoded.Generic<E>, TxUnpacked & { tag: T }>;\n }\n}\n\nexport default function genMPTreeField<E extends Encoding, T extends Tag>(encoding: E, tag: T): {\n serialize: (value: MPTree<E, T>) => MPTreeBinary;\n deserialize: (value: MPTreeBinary, o: { unpackTx: typeof unpackTx }) => MPTree<E, T>;\n} {\n return {\n serialize(value) {\n return value.serialize();\n },\n\n deserialize(value, { unpackTx }) {\n return new MPTree(value, encoding, tag, unpackTx);\n },\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"mptree.mjs","names":["_rlp","encode","rlpEncode","hash","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownPathNibbleError","UnexpectedTsError","UnknownNodeLengthError","InternalError","decode","Encoding","NodeType","_rootHash","WeakMap","_isComplete","_nodes","_encoding","_tag","_unpackTx","_getRaw","WeakSet","_entriesRaw","MPTree","isComplete","_classPrivateFieldGet","constructor","binary","encoding","tag","unpTx","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","_classPrivateFieldSet","toString","Object","fromEntries","map","node","keys","length","entries","forEach","_ref","key","_classStaticPrivateMethodGet","_nodeHash","call","type","_parseNode","Branch","slice","filter","n","Extension","Leaf","isEqual","tree","serialize","_Buffer","from","_ref2","mptHash","get","d","_classPrivateMethodGet","_getRaw2","Transaction","toObject","_entriesRaw2","_ref3","k","ContractAddress","_ref4","v","nibble","includes","path","_key","searchFrom","undefined","substring","rec","t","idx","_ref6","_ref7","push","genMPTreeField","deserialize","_ref5","unpackTx"],"sources":["../../../../src/tx/builder/field-types/mptree.ts"],"sourcesContent":["import { encode as rlpEncode, Input } from 'rlp';\nimport { Tag } from '../constants';\nimport { hash } from '../../../utils/crypto';\nimport {\n MerkleTreeHashMismatchError,\n MissingNodeInTreeError,\n UnknownPathNibbleError,\n UnexpectedTsError,\n UnknownNodeLengthError,\n InternalError,\n} from '../../../utils/errors';\nimport {\n decode, encode, Encoded, Encoding,\n} from '../../../utils/encoder';\nimport type { unpackTx } from '..';\nimport type { TxUnpacked } from '../schema.generated';\n\nenum NodeType {\n Branch,\n Extension,\n Leaf,\n}\n\ntype MPTreeBinary = [Buffer, Array<[Buffer, Buffer[]]>];\n\nclass MPTree<E extends Encoding, T extends Tag> {\n readonly #rootHash: string;\n\n #isComplete = true;\n\n get isComplete(): boolean {\n return this.#isComplete;\n }\n\n readonly #nodes: { [key: string]: Buffer[] };\n\n readonly #encoding: E;\n\n readonly #tag: T;\n\n readonly #unpackTx: typeof unpackTx;\n\n static #nodeHash(node: Input): string {\n return Buffer.from(hash(rlpEncode(node))).toString('hex');\n }\n\n /**\n * Deserialize Merkle Patricia Tree\n * @param binary - Binary\n * @param tag - Tag to use to decode value\n * @param unpTx - Implementation of unpackTx use to decode values\n * @returns Merkle Patricia Tree\n */\n constructor(binary: MPTreeBinary, encoding: E, tag: T, unpTx: typeof unpackTx) {\n this.#encoding = encoding;\n this.#tag = tag;\n this.#unpackTx = unpTx;\n this.#rootHash = binary[0].toString('hex');\n this.#nodes = Object.fromEntries(\n binary[1].map((node) => [node[0].toString('hex'), node[1]]),\n );\n\n if (this.#nodes[this.#rootHash] == null) {\n if (Object.keys(this.#nodes).length !== 0) {\n throw new MissingNodeInTreeError('Can\\'t find a node by root hash');\n }\n this.#isComplete = false;\n return;\n }\n Object.entries(this.#nodes).forEach(([key, node]) => {\n if (MPTree.#nodeHash(node) !== key) throw new MerkleTreeHashMismatchError();\n const { type } = MPTree.#parseNode(node);\n switch (type) {\n case NodeType.Branch:\n node\n .slice(0, 16)\n .filter((n) => n.length)\n .forEach((n) => {\n // TODO: enable after resolving https://github.com/aeternity/aeternity/issues/4066\n // if (n.length !== 32) {\n // throw new ArgumentError('MPTree branch item length', 32, n.length);\n // }\n if (this.#nodes[n.toString('hex')] == null) this.#isComplete = false;\n });\n break;\n case NodeType.Extension:\n if (this.#nodes[node[1].toString('hex')] == null) {\n throw new MissingNodeInTreeError('Can\\'t find a node by hash in extension node');\n }\n break;\n case NodeType.Leaf:\n break;\n default:\n throw new InternalError(`Unknown MPTree node type: ${type}`);\n }\n });\n }\n\n isEqual(tree: MPTree<E, T>): boolean {\n return this.#rootHash === tree.#rootHash;\n }\n\n static #parseNode(node: Buffer[]): { type: NodeType; value?: Buffer; path?: string } {\n switch (node.length) {\n case 17:\n return {\n type: NodeType.Branch,\n ...node[16].length !== 0 && { value: node[16] },\n };\n case 2: {\n const nibble = node[0][0] >> 4; // eslint-disable-line no-bitwise\n if (nibble > 3) throw new UnknownPathNibbleError(nibble);\n const type = nibble <= 1 ? NodeType.Extension : NodeType.Leaf;\n const slice = [0, 2].includes(nibble) ? 2 : 1;\n return {\n type,\n ...type === NodeType.Leaf && { value: node[1] },\n path: node[0].toString('hex').slice(slice),\n };\n }\n default:\n throw new UnknownNodeLengthError(node.length);\n }\n }\n\n /**\n * Serialize Merkle Patricia Tree\n * @returns Binary\n */\n serialize(): MPTreeBinary {\n return [\n Buffer.from(this.#rootHash, 'hex'),\n Object.entries(this.#nodes).map(([mptHash, value]) => ([\n Buffer.from(mptHash, 'hex'),\n value,\n ])),\n ];\n }\n\n /**\n * Retrieve value from Merkle Patricia Tree\n * @param _key - The key of the element to retrieve\n * @returns Value associated to the specified key\n */\n #getRaw(_key: string): Buffer | undefined {\n let searchFrom = this.#rootHash;\n let key = _key;\n while (true) { // eslint-disable-line no-constant-condition\n const node = this.#nodes[searchFrom];\n if (node == null) {\n if (!this.isComplete) return undefined;\n throw new InternalError('Can\\'t find node in complete tree');\n }\n const { type, value, path } = MPTree.#parseNode(node);\n switch (type) {\n case NodeType.Branch:\n if (key.length === 0) return value;\n searchFrom = node[+`0x${key[0]}`].toString('hex');\n key = key.substring(1);\n break;\n case NodeType.Extension:\n if (key.substring(0, path?.length) !== path) return undefined;\n searchFrom = node[1].toString('hex');\n key = key.substring(path.length);\n break;\n case NodeType.Leaf:\n if (path !== key) return undefined;\n return value;\n default:\n throw new InternalError(`Unknown MPTree node type: ${type}`);\n }\n }\n }\n\n /**\n * Retrieve value from Merkle Patricia Tree\n * @param key - The key of the element to retrieve\n * @returns Value associated to the specified key\n */\n get(key: Encoded.Generic<E>): TxUnpacked & { tag: T } | undefined {\n const d = this.#getRaw(decode(key).toString('hex'));\n if (d == null) return d;\n return this.#unpackTx(encode(d, Encoding.Transaction), this.#tag);\n }\n\n #entriesRaw(): Array<[string, Buffer]> {\n const entries: Array<[string, Buffer]> = [];\n const rec = (searchFrom: string, key: string): void => {\n const node = this.#nodes[searchFrom];\n if (node == null) {\n if (!this.isComplete) return;\n throw new InternalError('Can\\'t find node in complete tree');\n }\n const { type, value, path } = MPTree.#parseNode(node);\n switch (type) {\n case NodeType.Branch:\n node\n .slice(0, 16)\n .map((t, idx): [typeof t, number] => [t, idx])\n .filter(([t]) => t.length)\n .forEach(([t, idx]) => rec(t.toString('hex'), key + idx.toString(16)));\n if (value != null) entries.push([key, value]);\n break;\n case NodeType.Extension:\n rec(node[1].toString('hex'), key + path);\n break;\n case NodeType.Leaf:\n if (value == null) throw new UnexpectedTsError();\n entries.push([key + path, value]);\n break;\n default:\n throw new InternalError(`Unknown MPTree node type: ${type}`);\n }\n };\n rec(this.#rootHash, '');\n return entries;\n }\n\n toObject(): Record<Encoded.Generic<E>, TxUnpacked & { tag: T }> {\n return Object.fromEntries(this.#entriesRaw()\n // TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066\n .filter(([k]) => this.#encoding !== Encoding.ContractAddress || k.length !== 66)\n .map(([k, v]) => [\n encode(Buffer.from(k, 'hex'), this.#encoding),\n this.#unpackTx(encode(v, Encoding.Transaction), this.#tag),\n ])) as Record<Encoded.Generic<E>, TxUnpacked & { tag: T }>;\n }\n}\n\nexport default function genMPTreeField<E extends Encoding, T extends Tag>(encoding: E, tag: T): {\n serialize: (value: MPTree<E, T>) => MPTreeBinary;\n deserialize: (value: MPTreeBinary, o: { unpackTx: typeof unpackTx }) => MPTree<E, T>;\n} {\n return {\n serialize(value) {\n return value.serialize();\n },\n\n deserialize(value, { unpackTx }) {\n return new MPTree(value, encoding, tag, unpackTx);\n },\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"name-fee.mjs","names":["BigNumber","getMinimumNameFee","InsufficientNameFeeError","coinAmount","serializeAettos","_value","txFields","minNameFee","name","value","gt","toFixed","serialize","parameters","call"],"sources":["../../../../src/tx/builder/field-types/name-fee.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { getMinimumNameFee } from '../helpers';\nimport { InsufficientNameFeeError } from '../../../utils/errors';\nimport coinAmount from './coin-amount';\nimport { AensName, Int } from '../constants';\n\nexport default {\n ...coinAmount,\n\n serializeAettos(\n _value: string | undefined,\n txFields: { name: AensName },\n ): string {\n const minNameFee = getMinimumNameFee(txFields.name);\n const value = new BigNumber(_value ?? minNameFee);\n if (minNameFee.gt(value)) throw new InsufficientNameFeeError(value, minNameFee);\n return value.toFixed();\n },\n\n /**\n * @param value - AENS name fee Buffer\n * @param txFields - Transaction fields\n * @param txFields.name - AENS Name in transaction\n */\n serialize(\n value: Int | undefined,\n txFields: { name: AensName } & Parameters<typeof coinAmount['serialize']>[1],\n parameters: Parameters<typeof coinAmount['serialize']>[2],\n ): Buffer {\n return coinAmount.serialize.call(this, value, txFields, parameters);\n },\n};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,cAAc;AAAC,SAC5BC,iBAAiB;AAAA,SACjBC,wBAAwB;AAAA,OAC1BC,UAAU;AAGjB,eAAe;EACb,GAAGA,UAAU;EAEbC,eAAeA,CACbC,MAA0B,EAC1BC,QAA4B,EACpB;IACR,MAAMC,UAAU,GAAGN,iBAAiB,CAACK,QAAQ,CAACE,IAAI,CAAC;IACnD,MAAMC,KAAK,GAAG,IAAIT,SAAS,CAACK,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIE,UAAU,CAAC;IACjD,IAAIA,UAAU,CAACG,EAAE,CAACD,KAAK,CAAC,EAAE,MAAM,IAAIP,wBAAwB,CAACO,KAAK,EAAEF,UAAU,CAAC;IAC/E,OAAOE,KAAK,CAACE,OAAO,EAAE;EACxB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,SAASA,CACPH,KAAsB,EACtBH,QAA4E,EAC5EO,UAAyD,EACjD;IACR,OAAOV,UAAU,CAACS,SAAS,CAACE,IAAI,CAAC,IAAI,EAAEL,KAAK,EAAEH,QAAQ,EAAEO,UAAU,CAAC;EACrE;AACF,CAAC"}
1
+ {"version":3,"file":"name-fee.mjs","names":["BigNumber","getMinimumNameFee","InsufficientNameFeeError","coinAmount","serializeAettos","_value","txFields","minNameFee","name","value","gt","toFixed","serialize","parameters","call"],"sources":["../../../../src/tx/builder/field-types/name-fee.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { getMinimumNameFee } from '../helpers';\nimport { InsufficientNameFeeError } from '../../../utils/errors';\nimport coinAmount from './coin-amount';\nimport { AensName, Int } from '../constants';\n\nexport default {\n ...coinAmount,\n\n serializeAettos(\n _value: string | undefined,\n txFields: { name: AensName },\n ): string {\n const minNameFee = getMinimumNameFee(txFields.name);\n const value = new BigNumber(_value ?? minNameFee);\n if (minNameFee.gt(value)) throw new InsufficientNameFeeError(value, minNameFee);\n return value.toFixed();\n },\n\n /**\n * @param value - AENS name fee Buffer\n * @param txFields - Transaction fields\n * @param txFields.name - AENS Name in transaction\n */\n serialize(\n value: Int | undefined,\n txFields: { name: AensName } & Parameters<typeof coinAmount['serialize']>[1],\n parameters: Parameters<typeof coinAmount['serialize']>[2],\n ): Buffer {\n return coinAmount.serialize.call(this, value, txFields, parameters);\n },\n};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,cAAc;AAAC,SAC5BC,iBAAiB;AAAA,SACjBC,wBAAwB;AAAA,OAC1BC,UAAU;AAGjB,eAAe;EACb,GAAGA,UAAU;EAEbC,eAAeA,CACbC,MAA0B,EAC1BC,QAA4B,EACpB;IACR,MAAMC,UAAU,GAAGN,iBAAiB,CAACK,QAAQ,CAACE,IAAI,CAAC;IACnD,MAAMC,KAAK,GAAG,IAAIT,SAAS,CAACK,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIE,UAAU,CAAC;IACjD,IAAIA,UAAU,CAACG,EAAE,CAACD,KAAK,CAAC,EAAE,MAAM,IAAIP,wBAAwB,CAACO,KAAK,EAAEF,UAAU,CAAC;IAC/E,OAAOE,KAAK,CAACE,OAAO,CAAC,CAAC;EACxB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,SAASA,CACPH,KAAsB,EACtBH,QAA4E,EAC5EO,UAAyD,EACjD;IACR,OAAOV,UAAU,CAACS,SAAS,CAACE,IAAI,CAAC,IAAI,EAAEL,KAAK,EAAEH,QAAQ,EAAEO,UAAU,CAAC;EACrE;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pointers.mjs","names":["toBytes","IllegalArgumentError","address","idTagToEncoding","addressAny","serialize","pointers","length","map","pointer","key","id","deserialize","_ref","toString"],"sources":["../../../../src/tx/builder/field-types/pointers.ts"],"sourcesContent":["import { NamePointer as NamePointerString } from '../../../apis/node';\nimport { toBytes } from '../../../utils/bytes';\nimport { Encoded } from '../../../utils/encoder';\nimport { IllegalArgumentError } from '../../../utils/errors';\nimport address, { AddressEncodings, idTagToEncoding } from './address';\n\nconst addressAny = address(...idTagToEncoding);\n\n// TODO: remove after fixing node types\ntype NamePointer = NamePointerString & {\n id: Encoded.Generic<AddressEncodings>;\n};\n\nexport default {\n /**\n * Helper function to build pointers for name update TX\n * @param pointers - Array of pointers\n * `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`\n * @returns Serialized pointers array\n */\n serialize(pointers: NamePointer[]): Buffer[][] {\n if (pointers.length > 32) {\n throw new IllegalArgumentError(`Expected 32 pointers or less, got ${pointers.length} instead`);\n }\n\n return pointers.map(\n (pointer) => [toBytes(pointer.key), addressAny.serialize(pointer.id)],\n );\n },\n\n /**\n * Helper function to read pointers from name update TX\n * @param pointers - Array of pointers\n * @returns Deserialize pointer array\n */\n deserialize(pointers: Array<[key: Buffer, id: Buffer]>): NamePointer[] {\n return pointers.map(\n ([key, id]) => ({ key: key.toString(), id: addressAny.deserialize(id) }),\n );\n },\n};\n"],"mappings":"SACSA,OAAO;AAAA,SAEPC,oBAAoB;AAAA,OACtBC,OAAO,IAAsBC,eAAe;AAEnD,MAAMC,UAAU,GAAGF,OAAO,CAAC,GAAGC,eAAe,CAAC;;AAE9C;;AAKA,eAAe;EACb;AACF;AACA;AACA;AACA;AACA;EACEE,SAASA,CAACC,QAAuB,EAAc;IAC7C,IAAIA,QAAQ,CAACC,MAAM,GAAG,EAAE,EAAE;MACxB,MAAM,IAAIN,oBAAoB,CAAE,qCAAoCK,QAAQ,CAACC,MAAO,UAAS,CAAC;IAChG;IAEA,OAAOD,QAAQ,CAACE,GAAG,CAChBC,OAAO,IAAK,CAACT,OAAO,CAACS,OAAO,CAACC,GAAG,CAAC,EAAEN,UAAU,CAACC,SAAS,CAACI,OAAO,CAACE,EAAE,CAAC,CAAC,CACtE;EACH,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACN,QAA0C,EAAiB;IACrE,OAAOA,QAAQ,CAACE,GAAG,CACjBK,IAAA;MAAA,IAAC,CAACH,GAAG,EAAEC,EAAE,CAAC,GAAAE,IAAA;MAAA,OAAM;QAAEH,GAAG,EAAEA,GAAG,CAACI,QAAQ,EAAE;QAAEH,EAAE,EAAEP,UAAU,CAACQ,WAAW,CAACD,EAAE;MAAE,CAAC;IAAA,CAAC,CACzE;EACH;AACF,CAAC"}
1
+ {"version":3,"file":"pointers.mjs","names":["toBytes","IllegalArgumentError","address","idTagToEncoding","addressAny","serialize","pointers","length","map","pointer","key","id","deserialize","_ref","toString"],"sources":["../../../../src/tx/builder/field-types/pointers.ts"],"sourcesContent":["import { NamePointer as NamePointerString } from '../../../apis/node';\nimport { toBytes } from '../../../utils/bytes';\nimport { Encoded } from '../../../utils/encoder';\nimport { IllegalArgumentError } from '../../../utils/errors';\nimport address, { AddressEncodings, idTagToEncoding } from './address';\n\nconst addressAny = address(...idTagToEncoding);\n\n// TODO: remove after fixing node types\ntype NamePointer = NamePointerString & {\n id: Encoded.Generic<AddressEncodings>;\n};\n\nexport default {\n /**\n * Helper function to build pointers for name update TX\n * @param pointers - Array of pointers\n * `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`\n * @returns Serialized pointers array\n */\n serialize(pointers: NamePointer[]): Buffer[][] {\n if (pointers.length > 32) {\n throw new IllegalArgumentError(`Expected 32 pointers or less, got ${pointers.length} instead`);\n }\n\n return pointers.map(\n (pointer) => [toBytes(pointer.key), addressAny.serialize(pointer.id)],\n );\n },\n\n /**\n * Helper function to read pointers from name update TX\n * @param pointers - Array of pointers\n * @returns Deserialize pointer array\n */\n deserialize(pointers: Array<[key: Buffer, id: Buffer]>): NamePointer[] {\n return pointers.map(\n ([key, id]) => ({ key: key.toString(), id: addressAny.deserialize(id) }),\n );\n },\n};\n"],"mappings":"SACSA,OAAO;AAAA,SAEPC,oBAAoB;AAAA,OACtBC,OAAO,IAAsBC,eAAe;AAEnD,MAAMC,UAAU,GAAGF,OAAO,CAAC,GAAGC,eAAe,CAAC;;AAE9C;;AAKA,eAAe;EACb;AACF;AACA;AACA;AACA;AACA;EACEE,SAASA,CAACC,QAAuB,EAAc;IAC7C,IAAIA,QAAQ,CAACC,MAAM,GAAG,EAAE,EAAE;MACxB,MAAM,IAAIN,oBAAoB,CAAE,qCAAoCK,QAAQ,CAACC,MAAO,UAAS,CAAC;IAChG;IAEA,OAAOD,QAAQ,CAACE,GAAG,CAChBC,OAAO,IAAK,CAACT,OAAO,CAACS,OAAO,CAACC,GAAG,CAAC,EAAEN,UAAU,CAACC,SAAS,CAACI,OAAO,CAACE,EAAE,CAAC,CACtE,CAAC;EACH,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACN,QAA0C,EAAiB;IACrE,OAAOA,QAAQ,CAACE,GAAG,CACjBK,IAAA;MAAA,IAAC,CAACH,GAAG,EAAEC,EAAE,CAAC,GAAAE,IAAA;MAAA,OAAM;QAAEH,GAAG,EAAEA,GAAG,CAACI,QAAQ,CAAC,CAAC;QAAEH,EAAE,EAAEP,UAAU,CAACQ,WAAW,CAACD,EAAE;MAAE,CAAC;IAAA,CACzE,CAAC;EACH;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"string.mjs","names":["toBytes","serialize","string","deserialize","buffer","toString"],"sources":["../../../../src/tx/builder/field-types/string.ts"],"sourcesContent":["import { toBytes } from '../../../utils/bytes';\n\nexport default {\n serialize(string: string): Buffer {\n return toBytes(string);\n },\n\n deserialize(buffer: Buffer): string {\n return buffer.toString();\n },\n};\n"],"mappings":"SAASA,OAAO;AAEhB,eAAe;EACbC,SAASA,CAACC,MAAc,EAAU;IAChC,OAAOF,OAAO,CAACE,MAAM,CAAC;EACxB,CAAC;EAEDC,WAAWA,CAACC,MAAc,EAAU;IAClC,OAAOA,MAAM,CAACC,QAAQ,EAAE;EAC1B;AACF,CAAC"}
1
+ {"version":3,"file":"string.mjs","names":["toBytes","serialize","string","deserialize","buffer","toString"],"sources":["../../../../src/tx/builder/field-types/string.ts"],"sourcesContent":["import { toBytes } from '../../../utils/bytes';\n\nexport default {\n serialize(string: string): Buffer {\n return toBytes(string);\n },\n\n deserialize(buffer: Buffer): string {\n return buffer.toString();\n },\n};\n"],"mappings":"SAASA,OAAO;AAEhB,eAAe;EACbC,SAASA,CAACC,MAAc,EAAU;IAChC,OAAOF,OAAO,CAACE,MAAM,CAAC;EACxB,CAAC;EAEDC,WAAWA,CAACC,MAAc,EAAU;IAClC,OAAOA,MAAM,CAACC,QAAQ,CAAC,CAAC;EAC1B;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ttl.mjs","names":["shortUInt","ArgumentError","serialize","value","prepare","params","_ref","onNode","absoluteTtl","getCurrentKeyBlock","height"],"sources":["../../../../src/tx/builder/field-types/ttl.ts"],"sourcesContent":["import shortUInt from './short-u-int';\nimport Node from '../../../Node';\nimport { ArgumentError } from '../../../utils/errors';\n\nexport default {\n ...shortUInt,\n\n serialize(value: number | undefined): Buffer {\n return shortUInt.serialize(value ?? 0);\n },\n\n async prepare(\n value: number | undefined,\n params: {},\n // TODO: { absoluteTtl: true } | { absoluteTtl: false, onNode: Node }\n { onNode, absoluteTtl }: { onNode?: Node; absoluteTtl?: boolean },\n ) {\n if (absoluteTtl !== true && value !== 0 && value != null) {\n if (onNode == null) throw new ArgumentError('onNode', 'provided', onNode);\n value += (await onNode.getCurrentKeyBlock()).height;\n }\n return value;\n },\n};\n"],"mappings":"OAAOA,SAAS;AAAA,SAEPC,aAAa;AAEtB,eAAe;EACb,GAAGD,SAAS;EAEZE,SAASA,CAACC,KAAyB,EAAU;IAC3C,OAAOH,SAAS,CAACE,SAAS,CAACC,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC;EACxC,CAAC;EAED,MAAMC,OAAOA,CACXD,KAAyB,EACzBE,MAAU,EACV;EAAAC,IAAA,EAEA;IAAA,IADA;MAAEC,MAAM;MAAEC;IAAsD,CAAC,GAAAF,IAAA;IAEjE,IAAIE,WAAW,KAAK,IAAI,IAAIL,KAAK,KAAK,CAAC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACxD,IAAII,MAAM,IAAI,IAAI,EAAE,MAAM,IAAIN,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAEM,MAAM,CAAC;MACzEJ,KAAK,IAAI,CAAC,MAAMI,MAAM,CAACE,kBAAkB,EAAE,EAAEC,MAAM;IACrD;IACA,OAAOP,KAAK;EACd;AACF,CAAC"}
1
+ {"version":3,"file":"ttl.mjs","names":["shortUInt","ArgumentError","serialize","value","prepare","params","_ref","onNode","absoluteTtl","getCurrentKeyBlock","height"],"sources":["../../../../src/tx/builder/field-types/ttl.ts"],"sourcesContent":["import shortUInt from './short-u-int';\nimport Node from '../../../Node';\nimport { ArgumentError } from '../../../utils/errors';\n\nexport default {\n ...shortUInt,\n\n serialize(value: number | undefined): Buffer {\n return shortUInt.serialize(value ?? 0);\n },\n\n async prepare(\n value: number | undefined,\n params: {},\n // TODO: { absoluteTtl: true } | { absoluteTtl: false, onNode: Node }\n { onNode, absoluteTtl }: { onNode?: Node; absoluteTtl?: boolean },\n ) {\n if (absoluteTtl !== true && value !== 0 && value != null) {\n if (onNode == null) throw new ArgumentError('onNode', 'provided', onNode);\n value += (await onNode.getCurrentKeyBlock()).height;\n }\n return value;\n },\n};\n"],"mappings":"OAAOA,SAAS;AAAA,SAEPC,aAAa;AAEtB,eAAe;EACb,GAAGD,SAAS;EAEZE,SAASA,CAACC,KAAyB,EAAU;IAC3C,OAAOH,SAAS,CAACE,SAAS,CAACC,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAC;EACxC,CAAC;EAED,MAAMC,OAAOA,CACXD,KAAyB,EACzBE,MAAU,EACV;EAAAC,IAAA,EAEA;IAAA,IADA;MAAEC,MAAM;MAAEC;IAAsD,CAAC,GAAAF,IAAA;IAEjE,IAAIE,WAAW,KAAK,IAAI,IAAIL,KAAK,KAAK,CAAC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACxD,IAAII,MAAM,IAAI,IAAI,EAAE,MAAM,IAAIN,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAEM,MAAM,CAAC;MACzEJ,KAAK,IAAI,CAAC,MAAMI,MAAM,CAACE,kBAAkB,CAAC,CAAC,EAAEC,MAAM;IACrD;IACA,OAAOP,KAAK;EACd;AACF,CAAC"}
@@ -3,7 +3,7 @@ import { ArgumentError } from "../../../utils/errors.mjs";
3
3
  import { toBytes } from "../../../utils/bytes.mjs";
4
4
  export default {
5
5
  serialize(value) {
6
- if (value < 0) throw new ArgumentError('value', 'greater or equal to 0', value);
6
+ if (+value < 0) throw new ArgumentError('value', 'greater or equal to 0', value);
7
7
  return toBytes(value, true);
8
8
  },
9
9
  deserialize(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"u-int.mjs","names":["readInt","ArgumentError","toBytes","serialize","value","deserialize"],"sources":["../../../../src/tx/builder/field-types/u-int.ts"],"sourcesContent":["import { readInt } from '../helpers';\nimport { Int } from '../constants';\nimport { ArgumentError } from '../../../utils/errors';\nimport { toBytes } from '../../../utils/bytes';\n\nexport default {\n serialize(value: Int): Buffer {\n if (value < 0) throw new ArgumentError('value', 'greater or equal to 0', value);\n return toBytes(value, true);\n },\n\n deserialize(value: Buffer): string {\n return readInt(value);\n },\n};\n"],"mappings":"SAASA,OAAO;AAAA,SAEPC,aAAa;AAAA,SACbC,OAAO;AAEhB,eAAe;EACbC,SAASA,CAACC,KAAU,EAAU;IAC5B,IAAIA,KAAK,GAAG,CAAC,EAAE,MAAM,IAAIH,aAAa,CAAC,OAAO,EAAE,uBAAuB,EAAEG,KAAK,CAAC;IAC/E,OAAOF,OAAO,CAACE,KAAK,EAAE,IAAI,CAAC;EAC7B,CAAC;EAEDC,WAAWA,CAACD,KAAa,EAAU;IACjC,OAAOJ,OAAO,CAACI,KAAK,CAAC;EACvB;AACF,CAAC"}
1
+ {"version":3,"file":"u-int.mjs","names":["readInt","ArgumentError","toBytes","serialize","value","deserialize"],"sources":["../../../../src/tx/builder/field-types/u-int.ts"],"sourcesContent":["import { readInt } from '../helpers';\nimport { Int } from '../constants';\nimport { ArgumentError } from '../../../utils/errors';\nimport { toBytes } from '../../../utils/bytes';\n\nexport default {\n serialize(value: Int): Buffer {\n if (+value < 0) throw new ArgumentError('value', 'greater or equal to 0', value);\n return toBytes(value, true);\n },\n\n deserialize(value: Buffer): string {\n return readInt(value);\n },\n};\n"],"mappings":"SAASA,OAAO;AAAA,SAEPC,aAAa;AAAA,SACbC,OAAO;AAEhB,eAAe;EACbC,SAASA,CAACC,KAAU,EAAU;IAC5B,IAAI,CAACA,KAAK,GAAG,CAAC,EAAE,MAAM,IAAIH,aAAa,CAAC,OAAO,EAAE,uBAAuB,EAAEG,KAAK,CAAC;IAChF,OAAOF,OAAO,CAACE,KAAK,EAAE,IAAI,CAAC;EAC7B,CAAC;EAEDC,WAAWA,CAACD,KAAa,EAAU;IACjC,OAAOJ,OAAO,CAACI,KAAK,CAAC;EACvB;AACF,CAAC"}
@@ -22,6 +22,7 @@ export declare function buildContractId(ownerId: Encoded.AccountAddress, nonce:
22
22
  * @returns Contract public key
23
23
  */
24
24
  export declare function oracleQueryId(senderId: Encoded.AccountAddress, nonce: number | BigNumber | string, oracleId: Encoded.OracleAddress): Encoded.OracleQueryId;
25
+ export declare function nameToPunycode(maybeName: string): AensName;
25
26
  /**
26
27
  * Encode an AENS name
27
28
  * @category AENS
@@ -45,12 +46,18 @@ export declare function commitmentHash(name: AensName, salt?: number): Encoded.C
45
46
  * @returns Buffer Buffer from number(BigEndian)
46
47
  */
47
48
  export declare function readInt(buf?: Buffer): string;
49
+ /**
50
+ * Ensure that name is valid AENS name, would throw an exception otherwise
51
+ * @category AENS
52
+ * @param name - AENS name
53
+ */
54
+ export declare function ensureName(maybeName: string): asserts maybeName is AensName;
48
55
  /**
49
56
  * Is AENS name valid
50
57
  * @category AENS
51
58
  * @param name - AENS name
52
59
  */
53
- export declare function isNameValid(name: string): name is AensName;
60
+ export declare function isNameValid(maybeName: string): maybeName is AensName;
54
61
  declare const encodingToPointerKey: readonly [readonly [Encoded.Encoding.AccountAddress, "account_pubkey"], readonly [Encoded.Encoding.OracleAddress, "oracle_pubkey"], readonly [Encoded.Encoding.ContractAddress, "contract_pubkey"], readonly [Encoded.Encoding.Channel, "channel"]];
55
62
  /**
56
63
  * @category AENS