@witnet/sdk 1.1.5 → 1.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 (192) hide show
  1. package/.env_witnet +13 -1
  2. package/dist/package.json +31 -24
  3. package/dist/src/bin/helpers.d.ts +59 -49
  4. package/dist/src/bin/helpers.d.ts.map +1 -1
  5. package/dist/src/bin/helpers.js +228 -229
  6. package/dist/src/index.d.ts +3 -4
  7. package/dist/src/index.d.ts.map +1 -1
  8. package/dist/src/index.js +4 -47
  9. package/dist/src/lib/crypto/account.d.ts +3 -3
  10. package/dist/src/lib/crypto/account.d.ts.map +1 -1
  11. package/dist/src/lib/crypto/account.js +31 -25
  12. package/dist/src/lib/crypto/coinbase.d.ts +4 -4
  13. package/dist/src/lib/crypto/coinbase.d.ts.map +1 -1
  14. package/dist/src/lib/crypto/coinbase.js +8 -13
  15. package/dist/src/lib/crypto/index.d.ts +7 -7
  16. package/dist/src/lib/crypto/index.d.ts.map +1 -1
  17. package/dist/src/lib/crypto/index.js +7 -30
  18. package/dist/src/lib/crypto/interfaces.d.ts +5 -5
  19. package/dist/src/lib/crypto/interfaces.d.ts.map +1 -1
  20. package/dist/src/lib/crypto/interfaces.js +2 -3
  21. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +5 -5
  22. package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -1
  23. package/dist/src/lib/crypto/payloads/DataRequestPayload.js +98 -85
  24. package/dist/src/lib/crypto/payloads/StakePayload.d.ts +3 -4
  25. package/dist/src/lib/crypto/payloads/StakePayload.d.ts.map +1 -1
  26. package/dist/src/lib/crypto/payloads/StakePayload.js +81 -71
  27. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts +4 -5
  28. package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -1
  29. package/dist/src/lib/crypto/payloads/UnstakePayload.js +36 -43
  30. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts +3 -4
  31. package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -1
  32. package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +46 -48
  33. package/dist/src/lib/crypto/payloads.d.ts +5 -5
  34. package/dist/src/lib/crypto/payloads.d.ts.map +1 -1
  35. package/dist/src/lib/crypto/payloads.js +44 -45
  36. package/dist/src/lib/crypto/signer.d.ts +3 -3
  37. package/dist/src/lib/crypto/signer.d.ts.map +1 -1
  38. package/dist/src/lib/crypto/signer.js +45 -88
  39. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts +6 -6
  40. package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -1
  41. package/dist/src/lib/crypto/transmitters/DataRequests.js +6 -10
  42. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts +5 -5
  43. package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -1
  44. package/dist/src/lib/crypto/transmitters/StakeDeposits.js +7 -11
  45. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts +6 -7
  46. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -1
  47. package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +9 -13
  48. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts +5 -5
  49. package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -1
  50. package/dist/src/lib/crypto/transmitters/ValueTransfers.js +6 -10
  51. package/dist/src/lib/crypto/transmitters.d.ts +6 -6
  52. package/dist/src/lib/crypto/transmitters.d.ts.map +1 -1
  53. package/dist/src/lib/crypto/transmitters.js +89 -76
  54. package/dist/src/lib/crypto/types.d.ts +1 -2
  55. package/dist/src/lib/crypto/types.d.ts.map +1 -1
  56. package/dist/src/lib/crypto/types.js +71 -67
  57. package/dist/src/lib/crypto/utils.d.ts +5 -5
  58. package/dist/src/lib/crypto/utils.d.ts.map +1 -1
  59. package/dist/src/lib/crypto/utils.js +48 -66
  60. package/dist/src/lib/crypto/wallet.d.ts +3 -3
  61. package/dist/src/lib/crypto/wallet.d.ts.map +1 -1
  62. package/dist/src/lib/crypto/wallet.js +72 -89
  63. package/dist/src/lib/index.d.ts +5 -4
  64. package/dist/src/lib/index.d.ts.map +1 -1
  65. package/dist/src/lib/index.js +6 -44
  66. package/dist/src/lib/radon/ccdr/eth.d.ts +1 -1
  67. package/dist/src/lib/radon/ccdr/eth.d.ts.map +1 -1
  68. package/dist/src/lib/radon/ccdr/eth.js +95 -83
  69. package/dist/src/lib/radon/ccdr/index.d.ts +2 -2
  70. package/dist/src/lib/radon/ccdr/index.d.ts.map +1 -1
  71. package/dist/src/lib/radon/ccdr/index.js +3 -39
  72. package/dist/src/lib/radon/ccdr/wit.d.ts +2 -2
  73. package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -1
  74. package/dist/src/lib/radon/ccdr/wit.js +17 -19
  75. package/dist/src/lib/radon/filters.d.ts.map +1 -1
  76. package/dist/src/lib/radon/filters.js +23 -19
  77. package/dist/src/lib/radon/index.d.ts +10 -11
  78. package/dist/src/lib/radon/index.d.ts.map +1 -1
  79. package/dist/src/lib/radon/index.js +205 -187
  80. package/dist/src/lib/radon/reducers.d.ts +2 -2
  81. package/dist/src/lib/radon/reducers.d.ts.map +1 -1
  82. package/dist/src/lib/radon/reducers.js +48 -34
  83. package/dist/src/lib/radon/types.d.ts +2 -2
  84. package/dist/src/lib/radon/types.d.ts.map +1 -1
  85. package/dist/src/lib/radon/types.js +80 -110
  86. package/dist/src/lib/radon/utils.d.ts +3 -3
  87. package/dist/src/lib/radon/utils.d.ts.map +1 -1
  88. package/dist/src/lib/radon/utils.js +49 -52
  89. package/dist/src/lib/rest/kermit.d.ts +20 -0
  90. package/dist/src/lib/rest/kermit.d.ts.map +1 -0
  91. package/dist/src/lib/rest/kermit.js +68 -0
  92. package/dist/src/lib/rest/types.d.ts +5 -0
  93. package/dist/src/lib/rest/types.d.ts.map +1 -0
  94. package/dist/src/lib/rest/types.js +2 -0
  95. package/dist/src/lib/rpc/index.d.ts +2 -2
  96. package/dist/src/lib/rpc/index.d.ts.map +1 -1
  97. package/dist/src/lib/rpc/index.js +3 -19
  98. package/dist/src/lib/rpc/nodes.d.ts +13 -13
  99. package/dist/src/lib/rpc/nodes.d.ts.map +1 -1
  100. package/dist/src/lib/rpc/nodes.js +69 -98
  101. package/dist/src/lib/rpc/provider.d.ts +4 -4
  102. package/dist/src/lib/rpc/provider.d.ts.map +1 -1
  103. package/dist/src/lib/rpc/provider.js +106 -122
  104. package/dist/src/lib/rpc/types.d.ts +2 -2
  105. package/dist/src/lib/rpc/types.d.ts.map +1 -1
  106. package/dist/src/lib/rpc/types.js +13 -16
  107. package/dist/src/lib/types.d.ts +5 -4
  108. package/dist/src/lib/types.d.ts.map +1 -1
  109. package/dist/src/lib/types.js +3 -9
  110. package/dist/src/lib/utils.d.ts +5 -5
  111. package/dist/src/lib/utils.d.ts.map +1 -1
  112. package/dist/src/lib/utils.js +40 -99
  113. package/dist/witnet/assets/index.cjs +6 -0
  114. package/dist/witnet/assets/index.d.cts +29 -0
  115. package/dist/witnet/assets/index.d.cts.map +1 -0
  116. package/dist/witnet/assets/modals/index.cjs +9 -0
  117. package/dist/witnet/assets/modals/index.d.cts +16 -0
  118. package/dist/witnet/assets/modals/index.d.cts.map +1 -0
  119. package/dist/witnet/assets/modals/web3/eth.cjs +23 -0
  120. package/dist/witnet/assets/modals/web3/eth.d.cts +4 -0
  121. package/dist/witnet/assets/modals/web3/eth.d.cts.map +1 -0
  122. package/dist/witnet/assets/modals/web3/ipfs.cjs +18 -0
  123. package/dist/witnet/assets/modals/web3/ipfs.d.cts +3 -0
  124. package/dist/witnet/assets/modals/web3/ipfs.d.cts.map +1 -0
  125. package/dist/witnet/assets/modals/web3/wit.cjs +24 -0
  126. package/dist/witnet/assets/modals/web3/wit.d.cts +3 -0
  127. package/dist/witnet/assets/modals/web3/wit.d.cts.map +1 -0
  128. package/dist/witnet/assets/requests.cjs +43 -0
  129. package/dist/witnet/assets/requests.d.cts +10 -0
  130. package/dist/witnet/assets/requests.d.cts.map +1 -0
  131. package/package.json +31 -24
  132. package/src/bin/bots/watcher.cjs +354 -0
  133. package/src/bin/cli/history.cjs +31 -0
  134. package/src/bin/cli/inspect.js +545 -471
  135. package/src/bin/cli/network.js +658 -557
  136. package/src/bin/cli/nodes.js +392 -332
  137. package/src/bin/cli/radon.js +1071 -844
  138. package/src/bin/cli/wallet.js +1317 -1074
  139. package/src/bin/helpers.js +969 -868
  140. package/src/bin/index.js +329 -0
  141. package/witnet/assets/_index.cjs +5 -0
  142. package/witnet/assets/_requests.cjs +25 -0
  143. package/witnet/assets/_sources.cjs +36 -0
  144. package/witnet/assets/_templates.cjs +36 -0
  145. package/witnet/assets/index.cjs +4 -0
  146. package/witnet/assets/modals/index.cjs +7 -0
  147. package/witnet/assets/modals/web3/eth.cjs +27 -0
  148. package/witnet/assets/modals/web3/ipfs.cjs +22 -0
  149. package/witnet/assets/modals/web3/wit.cjs +28 -0
  150. package/witnet/assets/requests.cjs +49 -0
  151. package/witnet/witnet copy.proto +457 -0
  152. package/witnet/witnet.proto +456 -0
  153. package/witnet/witnet_toolkit-1.6.7-x86_64-pc-windows-msvc.exe +0 -0
  154. package/witnet/witnet_toolkit-1.7.1-x86_64-pc-windows-msvc.exe +0 -0
  155. package/witnet/witnet_toolkit-2.0.0-rc.7-x86_64-pc-windows-msvc.exe +0 -0
  156. package/witnet/witnet_toolkit-2.0.2-x86_64-pc-windows-msvc.exe +0 -0
  157. package/witnet/witnet_toolkit-2.0.21-x86_64-pc-windows-msvc.exe +0 -0
  158. package/witnet/witnet_toolkit-2.0.7-x86_64-pc-windows-msvc.exe +0 -0
  159. package/witnet/witnet_toolkit-2.0.8-x86_64-pc-windows-msvc.exe +0 -0
  160. package/dist/witnet/assets/index.d.ts +0 -29
  161. package/dist/witnet/assets/index.d.ts.map +0 -1
  162. package/dist/witnet/assets/index.js +0 -6
  163. package/dist/witnet/assets/modals/index.d.ts +0 -16
  164. package/dist/witnet/assets/modals/index.d.ts.map +0 -1
  165. package/dist/witnet/assets/modals/index.js +0 -11
  166. package/dist/witnet/assets/modals/web3/eth.d.ts +0 -5
  167. package/dist/witnet/assets/modals/web3/eth.d.ts.map +0 -1
  168. package/dist/witnet/assets/modals/web3/eth.js +0 -26
  169. package/dist/witnet/assets/modals/web3/ipfs.d.ts +0 -4
  170. package/dist/witnet/assets/modals/web3/ipfs.d.ts.map +0 -1
  171. package/dist/witnet/assets/modals/web3/ipfs.js +0 -18
  172. package/dist/witnet/assets/modals/web3/wit.d.ts +0 -4
  173. package/dist/witnet/assets/modals/web3/wit.d.ts.map +0 -1
  174. package/dist/witnet/assets/modals/web3/wit.js +0 -17
  175. package/dist/witnet/assets/requests.d.ts +0 -11
  176. package/dist/witnet/assets/requests.d.ts.map +0 -1
  177. package/dist/witnet/assets/requests.js +0 -43
  178. package/src/bin/cli/history.js +0 -31
  179. package/src/bin/postinstall.js +0 -9
  180. package/src/bin/toolkit.js +0 -290
  181. package/witnet/assets/_index.js +0 -8
  182. package/witnet/assets/_requests.js +0 -25
  183. package/witnet/assets/_sources.js +0 -36
  184. package/witnet/assets/_templates.js +0 -36
  185. package/witnet/assets/index.js +0 -4
  186. package/witnet/assets/modals/index.js +0 -9
  187. package/witnet/assets/modals/web3/eth.js +0 -29
  188. package/witnet/assets/modals/web3/ipfs.js +0 -22
  189. package/witnet/assets/modals/web3/wit.js +0 -21
  190. package/witnet/assets/requests.js +0 -49
  191. /package/witnet/assets/modals/web3/{btc.js → btc.cjs} +0 -0
  192. /package/witnet/assets/modals/web3/{sol.js → sol.cjs} +0 -0
@@ -1,6 +1,6 @@
1
- import { RadonRequest, RadonModal, RadonTemplate, RadonRetrieval } from "./index";
2
- import { RadonAny } from "./types";
3
- export { execRadonBytecode } from "../../bin/helpers";
1
+ import { RadonModal, RadonRequest, RadonRetrieval, RadonTemplate } from "./index.js";
2
+ import { type RadonAny } from "./types.js";
3
+ export { execRadonBytecode } from "../../bin/helpers.js";
4
4
  /**
5
5
  * Decodes a Radon script out from a Protobuf-serialized bytecode.
6
6
  * @param hexString Radon script bytecode.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/radon/utils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEjF,OAAO,EACL,QAAQ,EAST,MAAM,SAAS,CAAA;AAIhB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAErD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAaxD;AAGD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EACrG,IAAI,EAAE,GAAG,EACT,IAAI,CAAC,EAAE;IAAE,KAAI,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;CAAE,EAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC,CA0BvC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EAAE,KAAK,EAAE;IAC7G,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE;QAAE,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;KAAE,CAAC;CACjC,GAAG,CAAC,CAYJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EACpG,OAAO,EAAE;IACP;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE;QAAE,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC;KAAE,CAAC;CACjC,EACD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,GACnD,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAanC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/lib/radon/utils.ts"],"names":[],"mappings":"AASA,OAAO,EACN,UAAU,EACV,YAAY,EACZ,cAAc,EACd,aAAa,EACb,MAAM,YAAY,CAAC;AAEpB,OAAO,EACN,KAAK,QAAQ,EASb,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,CAaxD;AAED,wBAAgB,kBAAkB,CACjC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EAEpE,IAAI,EAAE,GAAG,EACT,IAAI,CAAC,EAAE;IAAE,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAA;CAAE,EAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,GAChB,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAA;CAAE,CAAC,CAqBvC;AAED,wBAAgB,iBAAiB,CAChC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EACnE,KAAK,EAAE;IACR,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE;QAAE,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAA;KAAE,CAAC;CAC/B,GAAG,CAAC,CAYJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAChC,CAAC,SAAS,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EAEpE,OAAO,EAAE;IACR;;OAEG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE;QAAE,KAAK,KAAK,EAAE,GAAG,GAAG,CAAC,CAAA;KAAE,CAAC;CAC/B,EACD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,GAClD,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAenC"}
@@ -1,27 +1,22 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.execRadonBytecode = void 0;
4
- exports.parseRadonScript = parseRadonScript;
5
- exports.flattenRadonAssets = flattenRadonAssets;
6
- exports.requireRadonAsset = requireRadonAsset;
7
- exports.searchRadonAssets = searchRadonAssets;
8
- require('dotenv').config();
9
- const cbor_1 = require("cbor");
10
- const helpers_1 = require("../../bin/helpers");
11
- const index_1 = require("./index");
12
- const types_1 = require("./types");
1
+ import { createRequire } from "node:module";
2
+ import cbor from "cbor";
3
+ import dotenv from "dotenv";
4
+ dotenv.config({ quiet: true });
5
+ const require = createRequire(import.meta.url);
6
+ import { fromHexString, isHexString } from "../../bin/helpers.js";
7
+ import { RadonModal, RadonRequest, RadonRetrieval, RadonTemplate, } from "./index.js";
8
+ import { RadonArray, RadonBoolean, RadonBytes, RadonFloat, RadonInteger, RadonMap, RadonOperators, RadonString, } from "./types.js";
13
9
  const WITNET_ASSETS_PATH = process.env.WITNET_SDK_RADON_ASSETS_PATH || "../../../../../witnet/assets";
14
- var helpers_2 = require("../../bin/helpers");
15
- Object.defineProperty(exports, "execRadonBytecode", { enumerable: true, get: function () { return helpers_2.execRadonBytecode; } });
10
+ export { execRadonBytecode } from "../../bin/helpers.js";
16
11
  /**
17
12
  * Decodes a Radon script out from a Protobuf-serialized bytecode.
18
13
  * @param hexString Radon script bytecode.
19
14
  * @returns Radon script object (i.e. chain of Radon operators with a deterministic output Radon type).
20
15
  */
21
- function parseRadonScript(bytecode) {
16
+ export function parseRadonScript(bytecode) {
22
17
  let buffer;
23
- if ((0, helpers_1.isHexString)(bytecode)) {
24
- buffer = (0, helpers_1.fromHexString)(bytecode);
18
+ if (isHexString(bytecode)) {
19
+ buffer = fromHexString(bytecode);
25
20
  }
26
21
  else if (bytecode instanceof Uint8Array) {
27
22
  buffer = Buffer.from(bytecode);
@@ -32,19 +27,20 @@ function parseRadonScript(bytecode) {
32
27
  else {
33
28
  throw new TypeError(`Unsupported RadonScript bytecode format: ${bytecode}`);
34
29
  }
35
- const array = (0, cbor_1.decode)(buffer);
30
+ const array = cbor.decode(buffer);
36
31
  return parseScript(array);
37
32
  }
38
- function flattenRadonAssets(tree, type, headers) {
33
+ export function flattenRadonAssets(tree, type, headers) {
39
34
  if (!headers)
40
35
  headers = [];
41
36
  const entries = [];
42
37
  for (const key in tree) {
43
- if ((type && tree[key] instanceof type)
44
- || (!type && (tree[key] instanceof index_1.RadonRequest
45
- || tree[key] instanceof index_1.RadonTemplate
46
- || tree[key] instanceof index_1.RadonModal
47
- || tree[key] instanceof index_1.RadonRetrieval))) {
38
+ if ((type && tree[key] instanceof type) ||
39
+ (!type &&
40
+ (tree[key] instanceof RadonRequest ||
41
+ tree[key] instanceof RadonTemplate ||
42
+ tree[key] instanceof RadonModal ||
43
+ tree[key] instanceof RadonRetrieval))) {
48
44
  entries.push({
49
45
  key,
50
46
  artifact: tree[key],
@@ -56,11 +52,10 @@ function flattenRadonAssets(tree, type, headers) {
56
52
  }
57
53
  return entries;
58
54
  }
59
- ;
60
- function requireRadonAsset(specs) {
61
- const stuff = (specs?.assets
55
+ export function requireRadonAsset(specs) {
56
+ const stuff = specs?.assets
62
57
  ? flattenRadonAssets(specs.assets, specs?.type)
63
- : loadModuleAssets({ flattened: true, type: specs?.type }));
58
+ : loadModuleAssets({ flattened: true, type: specs?.type });
64
59
  const found = stuff.find((entry) => entry.key === specs.artifact);
65
60
  if (found?.artifact) {
66
61
  return found.artifact;
@@ -78,30 +73,28 @@ function requireRadonAsset(specs) {
78
73
  * @param filterFn Filtering function.
79
74
  * @returns An array of Radon assets of the specified kind complying with the search pattern.
80
75
  */
81
- function searchRadonAssets(options, filterFn) {
76
+ export function searchRadonAssets(options, filterFn) {
82
77
  const defaultFilter = (key, pattern) => key.toLowerCase().endsWith(pattern.toLowerCase());
83
- const stuff = (options?.assets
78
+ const stuff = options?.assets
84
79
  ? flattenRadonAssets(options.assets, options?.type)
85
- : loadModuleAssets({ flattened: true, type: options?.type }));
86
- return (stuff
80
+ : loadModuleAssets({ flattened: true, type: options?.type });
81
+ return stuff
87
82
  .filter((entry) => (filterFn || defaultFilter)(entry.key, options.pattern || ""))
88
83
  .slice(options?.offset || 0, options?.limit)
89
- .map((entry) => [entry.key, entry.artifact]));
84
+ .map((entry) => [
85
+ entry.key,
86
+ entry.artifact,
87
+ ]);
90
88
  }
91
89
  // ====================================================================================================================
92
90
  // --- INTERNAL METHODS -----------------------------------------------------------------------------------------------
93
91
  function loadModuleAssets(options) {
94
- // const stuff = options?.legacy ? require(`${WITNET_ASSETS_PATH}`).legacy : {
95
- // requests: require(`${WITNET_ASSETS_PATH}/requests`),
96
- // templates: require(`${WITNET_ASSETS_PATH}/templates`),
97
- // retrievals: require(`${WITNET_ASSETS_PATH}/retrievals`),
98
- // };
99
- const stuff = require(`${WITNET_ASSETS_PATH}`);
92
+ const stuff = require(`${WITNET_ASSETS_PATH}/index.cjs`);
100
93
  return options?.flattened ? flattenRadonAssets(stuff, options?.type) : stuff;
101
94
  }
102
95
  function parseScript(array, script) {
103
96
  if (Array.isArray(array)) {
104
- array.forEach(item => {
97
+ array.forEach((item) => {
105
98
  if (Array.isArray(item)) {
106
99
  script = parseScriptOperator(script, item[0], ...item.slice(1));
107
100
  }
@@ -118,31 +111,35 @@ function parseScript(array, script) {
118
111
  function parseScriptOperator(script, opcode, args) {
119
112
  if (!script) {
120
113
  const found = Object.entries({
121
- "10": types_1.RadonArray,
122
- "20": types_1.RadonBoolean,
123
- "30": types_1.RadonBytes,
124
- "40": types_1.RadonInteger,
125
- "50": types_1.RadonFloat,
126
- "60": types_1.RadonMap,
127
- "70": types_1.RadonString,
128
- }).find(entry => entry[0] === (parseInt(opcode) & 0xf0).toString(16));
114
+ "10": RadonArray,
115
+ "20": RadonBoolean,
116
+ "30": RadonBytes,
117
+ "40": RadonInteger,
118
+ "50": RadonFloat,
119
+ "60": RadonMap,
120
+ "70": RadonString,
121
+ }).find((entry) => entry[0] === (parseInt(opcode, 10) & 0xf0).toString(16));
129
122
  if (found) {
130
- script = new found[1];
123
+ script = new found[1]();
131
124
  }
132
125
  else {
133
126
  throw TypeError(`unknown Radon operator: ${opcode}`);
134
127
  }
135
128
  }
136
129
  if (opcode) {
137
- let operator = types_1.RadonOperators[opcode].split(/(?=[A-Z])/).slice(1).join("");
130
+ let operator = RadonOperators[opcode]
131
+ .split(/(?=[A-Z])/)
132
+ .slice(1)
133
+ .join("");
138
134
  operator = operator.charAt(0).toLowerCase() + operator.slice(1);
139
135
  switch (operator) {
140
136
  case "filter":
141
137
  case "map":
142
138
  case "sort":
143
- case "alter":
139
+ case "alter": {
144
140
  const innerScript = parseScript(args);
145
141
  return script[operator](innerScript, ...args.slice(1));
142
+ }
146
143
  // case "alter":
147
144
  // return script[operator](args[0], parseScript(args[1], ...args.slice(2)));
148
145
  default:
@@ -150,4 +147,4 @@ function parseScriptOperator(script, opcode, args) {
150
147
  }
151
148
  }
152
149
  }
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JhZG9uL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTRCQSw0Q0FhQztBQUdELGdEQThCQztBQUVELDhDQWdCQztBQVdELDhDQXFDQztBQTVJRCxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7QUFDMUIsK0JBQTJDO0FBRTNDLCtDQUE4RDtBQUU5RCxtQ0FBaUY7QUFFakYsbUNBVWdCO0FBRWhCLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsSUFBSSw4QkFBOEIsQ0FBQTtBQUVyRyw2Q0FBcUQ7QUFBNUMsNEdBQUEsaUJBQWlCLE9BQUE7QUFFMUI7Ozs7R0FJRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLFFBQWE7SUFDNUMsSUFBSSxNQUFNLENBQUE7SUFDVixJQUFJLElBQUEscUJBQVcsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sR0FBRyxJQUFBLHVCQUFhLEVBQUMsUUFBUSxDQUFDLENBQUE7SUFDbEMsQ0FBQztTQUFNLElBQUksUUFBUSxZQUFZLFVBQVUsRUFBRSxDQUFDO1FBQzFDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7U0FBTSxJQUFJLFFBQVEsWUFBWSxNQUFNLEVBQUUsQ0FBQztRQUN0QyxNQUFNLEdBQUcsUUFBUSxDQUFBO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLFNBQVMsQ0FBQyw0Q0FBNEMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBQSxhQUFVLEVBQUMsTUFBTSxDQUFDLENBQUE7SUFDaEMsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDM0IsQ0FBQztBQUdELFNBQWdCLGtCQUFrQixDQUNo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UUFBUSxFQUFFLENBQUM7WUFDakIsS0FBSyxRQUFRLENBQUM7WUFBQyxLQUFLLEtBQUssQ0FBQztZQUFDLEtBQUssTUFBTSxDQUFDO1lBQUMsS0FBSyxPQUFPO2dCQUNsRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3JDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV6RCxnQkFBZ0I7WUFDaEIsOEVBQThFO1lBRTlFO2dCQUNFLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJ2RvdGVudicpLmNvbmZpZygpXHJcbmltcG9ydCB7IGRlY29kZSBhcyBjYm9yRGVjb2RlIH0gZnJvbSAnY2JvcidcclxuXHJcbmltcG9ydCB7IGZyb21IZXhTdHJpbmcsIGlzSGV4U3RyaW5nIH0gZnJvbSBcIi4uLy4uL2Jpbi9oZWxwZXJzXCJcclxuXHJcbmltcG9ydCB7IFJhZG9uUmVxdWVzdCwgUmFkb25Nb2RhbCwgUmFkb25UZW1wbGF0ZSwgUmFkb25SZXRyaWV2YWwgfSBmcm9tIFwiLi9pbmRleFwiXHJcblxyXG5pbXBvcnQge1xyXG4gIFJhZG9uQW55LFxyXG4gIFJhZG9uQXJyYXksXHJcbiAgUmFkb25Cb29sZWFuLFxyXG4gIFJhZG9uQnl0ZXMsXHJcbiAgUmFkb25GbG9hdCxcclxuICBSYWRvbkludGVnZXIsXHJcbiAgUmFkb25NYXAsXHJcbiAgUmFkb25TdHJpbmcsXHJcbiAgUmFkb25PcGVyYXRvcnMsXHJcbn0gZnJvbSBcIi4vdHlwZXNcIlxyXG5cclxuY29uc3QgV0lUTkVUX0FTU0VUU19QQVRIID0gcHJvY2Vzcy5lbnYuV0lUTkVUX1NES19SQURPTl9BU1NFVFNfUEFUSCB8fCBcIi4uLy4uLy4uLy4uLy4uL3dpdG5ldC9hc3NldHNcIlxyXG5cclxuZXhwb3J0IHsgZXhlY1JhZG9uQnl0ZWNvZGUgfSBmcm9tIFwiLi4vLi4vYmluL2hlbHBlcnNcIlxyXG5cclxuLyoqXHJcbiAqIERlY29kZXMgYSBSYWRvbiBzY3JpcHQgb3V0IGZyb20gYSBQcm90b2J1Zi1zZXJpYWxpemVkIGJ5dGVjb2RlLlxyXG4gKiBAcGFyYW0gaGV4U3RyaW5nIFJhZG9uIHNjcmlwdCBieXRlY29kZS5cclxuICogQHJldHVybnMgUmFkb24gc2NyaXB0IG9iamVjdCAoaS5lLiBjaGFpbiBvZiBSYWRvbiBvcGVyYXRvcnMgd2l0aCBhIGRldGVybWluaXN0aWMgb3V0cHV0IFJhZG9uIHR5cGUpLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUmFkb25TY3JpcHQoYnl0ZWNvZGU6IGFueSk6IFJhZG9uQW55IHtcclxuICBsZXQgYnVmZmVyXHJcbiAgaWYgKGlzSGV4U3RyaW5nKGJ5dGVjb2RlKSkge1xyXG4gICAgYnVmZmVyID0gZnJvbUhleFN0cmluZyhieXRlY29kZSlcclxuICB9IGVsc2UgaWYgKGJ5dGVjb2RlIGluc3RhbmNlb2YgVWludDhBcnJheSkge1xyXG4gICAgYnVmZmVyID0gQnVmZmVyLmZyb20oYnl0ZWNvZGUpXHJcbiAgfSBlbHNlIGlmIChieXRlY29kZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xyXG4gICAgYnVmZmVyID0gYnl0ZWNvZGVcclxuICB9IGVsc2Uge1xyXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVW5zdXBwb3J0ZWQgUmFkb25TY3JpcHQgYnl0ZWNvZGUgZm9ybWF0OiAke2J5dGVjb2RlfWApXHJcbiAgfVxyXG4gIGNvbnN0IGFycmF5ID0gY2JvckRlY29kZShidWZmZXIpXHJcbiAgcmV0dXJuIHBhcnNlU2NyaXB0KGFycmF5KVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW5SYWRvbkFzc2V0czxUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbD4oXHJcbiAgdHJlZTogYW55LFxyXG4gIHR5cGU/OiB7IG5ldyhzcGVjczogYW55KTogVDsgfSxcclxuICBoZWFkZXJzPzogc3RyaW5nW11cclxuKTogQXJyYXk8eyBrZXk6IHN0cmluZywgYXJ0aWZhY3Q6IGFueSB9PiB7XHJcbiAgaWYgKCFoZWFkZXJzKSBoZWFkZXJzID0gW11cclxuICBjb25zdCBlbnRyaWVzOiBBcnJheTx7IGtleTogc3RyaW5nLCBhcnRpZmFjdDogYW55IH0+ID0gW11cclxuICBmb3IgKGNvbnN0IGtleSBpbiB0cmVlKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICh0eXBlICYmIHRyZWVba2V5XSBpbnN0YW5jZW9mIHR5cGUpXHJcbiAgICAgIHx8ICghdHlwZSAmJiAoXHJcbiAgICAgICAgICB0cmVlW2tleV0gaW5zdGFuY2VvZiBSYWRvblJlcXVlc3RcclxuICAgICAgICAgIHx8IHRyZWVba2V5XSBpbnN0YW5jZW9mIFJhZG9uVGVtcGxhdGVcclxuICAgICAgICAgIHx8IHRyZWVba2V5XSBpbnN0YW5jZW9mIFJhZG9uTW9kYWxcclxuICAgICAgICAgIHx8IHRyZWVba2V5XSBpbnN0YW5jZW9mIFJhZG9uUmV0cmlldmFsXHJcbiAgICAgICkpXHJcbiAgICApIHtcclxuICAgICAgZW50cmllcy5wdXNoKHtcclxuICAgICAgICBrZXksXHJcbiAgICAgICAgYXJ0aWZhY3Q6IHRyZWVba2V5XSxcclxuICAgICAgfSlcclxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRyZWVba2V5XSA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICBlbnRyaWVzLnB1c2goLi4uZmxhdHRlblJhZG9uQXNzZXRzKFxyXG4gICAgICAgIHRyZWVba2V5XSxcclxuICAgICAgICB0eXBlLFxyXG4gICAgICAgIFsuLi5oZWFkZXJzLCBrZXldXHJcbiAgICAgICkpXHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBlbnRyaWVzXHJcbn07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVxdWlyZVJhZG9uQXNzZXQ8VCBleHRlbmRzIFJhZG9uUmVxdWVzdCB8IFJhZG9uVGVtcGxhdGUgfCBSYWRvbk1vZGFsIHwgUmFkb25SZXRyaWV2YWw+KHNwZWNzOiB7XHJcbiAgYXJ0aWZhY3Q6IHN0cmluZyxcclxuICBhc3NldHM/OiBhbnksXHJcbiAgdHlwZT86IHsgbmV3IChzcGVjczogYW55KTogVDsgfSxcclxufSk6IFQge1xyXG4gIGNvbnN0IHN0dWZmID0gKFxyXG4gICAgc3BlY3M/LmFzc2V0cyBcclxuICAgICAgPyBmbGF0dGVuUmFkb25Bc3NldHMoc3BlY3MuYXNzZXRzLCBzcGVjcz8udHlwZSkgXHJcbiAgICAgIDogbG9hZE1vZHVsZUFzc2V0cyh7IGZsYXR0ZW5lZDogdHJ1ZSwgdHlwZTogc3BlY3M/LnR5cGUgfSlcclxuICApO1xyXG4gIGNvbnN0IGZvdW5kID0gc3R1ZmYuZmluZCgoZW50cnk6IHsga2V5OiBzdHJpbmcsIGFydGlmYWN0OiBhbnkgfSkgPT4gZW50cnkua2V5ID09PSBzcGVjcy5hcnRpZmFjdClcclxuICBpZiAoZm91bmQ/LmFydGlmYWN0KSB7XHJcbiAgICByZXR1cm4gZm91bmQuYXJ0aWZhY3RcclxuICB9IGVsc2Uge1xyXG4gICAgdGhyb3cgRXJyb3IoYFJhZG9uIGFzc2V0IFwiJHtzcGVjcy5hcnRpZmFjdH1cIiBub3QgYXZhaWxhYmxlLmApXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2VhcmNoIFdpdG5ldCBSYWRvbiBhc3NldHMgZGVjbGFyZWQgb3IgaW1wb3J0ZWQgd2l0aGluIGN1cnJlbnQgcmVwb3NpdG9yeSwgXHJcbiAqIHdob3NlIG5hbWVzIGNvbXBsaWVzIHdpdGggdGhlIHByb3ZpZGVkIGBwYXR0ZXJuYCBhbmQgYGZpbHRlckZuYC4gXHJcbiAqIElmIG5vIGBmaWx0ZXJGbmAgaXMgc3BlY2lmaWVkLCBzZWFyY2ggd2lsbCBpbmNsdWRlIGFzc2V0cyB3aG9zZSBuYW1lcyBcclxuICogYXJlIHN1ZmZpeGVkIGJ5IGdpdmVuIGBwYXR0ZXJuYCAoY2FzZSBpbnNlbnNpdGl2ZSkuXHJcbiAqIEBwYXJhbSBvcHRpb25zIFNlYXJjaCBvcHRpb25zXHJcbiAqIEBwYXJhbSBmaWx0ZXJGbiBGaWx0ZXJpbmcgZnVuY3Rpb24uXHJcbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIFJhZG9uIGFzc2V0cyBvZiB0aGUgc3BlY2lmaWVkIGtpbmQgY29tcGx5aW5nIHdpdGggdGhlIHNlYXJjaCBwYXR0ZXJuLiBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hSYWRvbkFzc2V0czxUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbD4oXHJcbiAgb3B0aW9uczoge1xyXG4gICAgLyoqXHJcbiAgICAgKiBPYmplY3QgY29udGFpbmluZyBzdHJ1Y3R1cmVkIGhlcmlhcmNoeSBvZiBSYWRvbiBhc3NldHMuIElmIG5vdCBwcm92aWRlZCwgUmFkb24gYXNzZXRzIGRlY2xhcmVkIHdpdGhpbiBwcm9qZWN0J3MgZW52aXJvbm1lbnQuXHJcbiAgICAgKi9cclxuICAgIGFzc2V0cz86IGFueSxcclxuICAgIC8qKlxyXG4gICAgICogTGltaXRzIG51bWJlciBvZiByZXR1cm5lZCBSYWRvbiBhc3NldHMuXHJcbiAgICAgKi9cclxuICAgIGxpbWl0PzogbnVtYmVyLFxyXG4gICAgLyoqXHJcbiAgICAgKiBPZmZzZXRzIHJldHVybmVkIGFycmF5IG9mIFJhZG9uIGFzc2V0cy5cclxuICAgICAqL1xyXG4gICAgb2Zmc2V0PzogbnVtYmVyLFxyXG4gICAgLyoqXHJcbiAgICAgKiBOYW1lIHBhdHRlcm4gc2VhcmNoZWQgZm9yLlxyXG4gICAgICovXHJcbiAgICBwYXR0ZXJuOiBzdHJpbmcsXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmljIHR5cGUgb2YgUmFkb24gYXNzZXQgdG8gc2VhcmNoIGZvcjogYFJhZG9uUmVxdWVzdGAsIGBSYWRvblJlcXVlc3RgLCBgUmFkb25SZXRyaWV2YWxgIG9yIGBSYWRvbkNDRFJgLlxyXG4gICAgICovXHJcbiAgICB0eXBlPzogeyBuZXcgKHNwZWNzOiBhbnkpOiBUOyB9LFxyXG4gIH0sXHJcbiAgZmlsdGVyRm4/OiAoa2V5OiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZykgPT4gYm9vbGVhbixcclxuKTogQXJyYXk8W2tleTogc3RyaW5nLCBhcnRpZmFjdDogVF0+IHtcclxuICBjb25zdCBkZWZhdWx0RmlsdGVyID0gKGtleTogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpID0+IGtleS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHBhdHRlcm4udG9Mb3dlckNhc2UoKSlcclxuICBjb25zdCBzdHVmZiA9IChcclxuICAgIG9wdGlvbnM/LmFzc2V0c1xyXG4gICAgICA/IGZsYXR0ZW5SYWRvbkFzc2V0cyhvcHRpb25zLmFzc2V0cywgb3B0aW9ucz8udHlwZSlcclxuICAgICAgOiBsb2FkTW9kdWxlQXNzZXRzKHsgZmxhdHRlbmVkOiB0cnVlLCB0eXBlOiBvcHRpb25zPy50eXBlIH0pXHJcbiAgKTtcclxuICByZXR1cm4gKFxyXG4gICAgc3R1ZmZcclxuICAgICAgLmZpbHRlcigoZW50cnk6IHsga2V5OiBzdHJpbmcsIGFydGlmYWN0OiBhbnkgfSkgPT4gKGZpbHRlckZuIHx8IGRlZmF1bHRGaWx0ZXIpKGVudHJ5LmtleSwgb3B0aW9ucy5wYXR0ZXJuIHx8IFwiXCIpKVxyXG4gICAgICAuc2xpY2Uob3B0aW9ucz8ub2Zmc2V0IHx8IDAsIG9wdGlvbnM/LmxpbWl0KVxyXG4gICAgICAubWFwKChlbnRyeTogeyBrZXk6IHN0cmluZywgYXJ0aWZhY3Q6IGFueSB8IFQgfSkgPT4gW2VudHJ5LmtleSwgZW50cnkuYXJ0aWZhY3RdKVxyXG4gICk7XHJcbn1cclxuXHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyAtLS0gSU5URVJOQUwgTUVUSE9EUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuZnVuY3Rpb24gbG9hZE1vZHVsZUFzc2V0czxUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbD4oXHJcbiAgb3B0aW9uczoge1xyXG4gICAgLy8gbGVnYWN5PzogYm9vbGVhbixcclxuICAgIGZsYXR0ZW5lZD86IGJvb2xlYW4sXHJcbiAgICB0eXBlPzogeyBuZXcoc3BlY3M6IGFueSk6IFQ7IH0sXHJcbiAgfSxcclxuKTogYW55IHtcclxuICAvLyBjb25zdCBzdHVmZiA9IG9wdGlvbnM/LmxlZ2FjeSA/IHJlcXVpcmUoYCR7V0lUTkVUX0FTU0VUU19QQVRIfWApLmxlZ2FjeSA6IHtcclxuICAvLyAgIHJlcXVlc3RzOiByZXF1aXJlKGAke1dJVE5FVF9BU1NFVFNfUEFUSH0vcmVxdWVzdHNgKSxcclxuICAvLyAgIHRlbXBsYXRlczogcmVxdWlyZShgJHtXSVRORVRfQVNTRVRTX1BBVEh9L3RlbXBsYXRlc2ApLFxyXG4gIC8vICAgcmV0cmlldmFsczogcmVxdWlyZShgJHtXSVRORVRfQVNTRVRTX1BBVEh9L3JldHJpZXZhbHNgKSxcclxuICAvLyB9O1xyXG4gIGNvbnN0IHN0dWZmID0gcmVxdWlyZShgJHtXSVRORVRfQVNTRVRTX1BBVEh9YClcclxuICByZXR1cm4gb3B0aW9ucz8uZmxhdHRlbmVkID8gZmxhdHRlblJhZG9uQXNzZXRzKHN0dWZmLCBvcHRpb25zPy50eXBlKSA6IHN0dWZmXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBhcnNlU2NyaXB0KGFycmF5OiBhbnksIHNjcmlwdD86IGFueSk6IGFueSB7XHJcbiAgaWYgKEFycmF5LmlzQXJyYXkoYXJyYXkpKSB7XHJcbiAgICBhcnJheS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xyXG4gICAgICAgIHNjcmlwdCA9IHBhcnNlU2NyaXB0T3BlcmF0b3Ioc2NyaXB0LCBpdGVtWzBdLCAuLi5pdGVtLnNsaWNlKDEpKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNjcmlwdCA9IHBhcnNlU2NyaXB0T3BlcmF0b3Ioc2NyaXB0LCBpdGVtKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHNjcmlwdFxyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gcGFyc2VTY3JpcHRPcGVyYXRvcihzY3JpcHQsIGFycmF5KVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gcGFyc2VTY3JpcHRPcGVyYXRvcihzY3JpcHQ6IGFueSwgb3Bjb2RlOiBhbnksIGFyZ3M/OiBhbnkpOiBhbnkge1xyXG4gIGlmICghc2NyaXB0KSB7XHJcbiAgICBjb25zdCBmb3VuZCA9IE9iamVjdC5lbnRyaWVzKHtcclxuICAgICAgXCIxMFwiOiBSYWRvbkFycmF5LFxyXG4gICAgICBcIjIwXCI6IFJhZG9uQm9vbGVhbixcclxuICAgICAgXCIzMFwiOiBSYWRvbkJ5dGVzLFxyXG4gICAgICBcIjQwXCI6IFJhZG9uSW50ZWdlcixcclxuICAgICAgXCI1MFwiOiBSYWRvbkZsb2F0LFxyXG4gICAgICBcIjYwXCI6IFJhZG9uTWFwLFxyXG4gICAgICBcIjcwXCI6IFJhZG9uU3RyaW5nLFxyXG4gICAgfSkuZmluZChlbnRyeSA9PiBlbnRyeVswXSA9PT0gKHBhcnNlSW50KG9wY29kZSkgJiAweGYwKS50b1N0cmluZygxNikpXHJcbiAgICBpZiAoZm91bmQpIHtcclxuICAgICAgc2NyaXB0ID0gbmV3IGZvdW5kWzFdXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBUeXBlRXJyb3IoYHVua25vd24gUmFkb24gb3BlcmF0b3I6ICR7b3Bjb2RlfWApXHJcbiAgICB9XHJcbiAgfVxyXG4gIGlmIChvcGNvZGUpIHtcclxuICAgIGxldCBvcGVyYXRvciA9IFJhZG9uT3BlcmF0b3JzW29wY29kZV0uc3BsaXQoLyg/PVtBLVpdKS8pLnNsaWNlKDEpLmpvaW4oXCJcIilcclxuICAgIG9wZXJhdG9yID0gb3BlcmF0b3IuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBvcGVyYXRvci5zbGljZSgxKVxyXG4gICAgc3dpdGNoIChvcGVyYXRvcikge1xyXG4gICAgICBjYXNlIFwiZmlsdGVyXCI6IGNhc2UgXCJtYXBcIjogY2FzZSBcInNvcnRcIjogY2FzZSBcImFsdGVyXCI6XHJcbiAgICAgICAgY29uc3QgaW5uZXJTY3JpcHQgPSBwYXJzZVNjcmlwdChhcmdzKVxyXG4gICAgICAgIHJldHVybiBzY3JpcHRbb3BlcmF0b3JdKGlubmVyU2NyaXB0LCAuLi5hcmdzLnNsaWNlKDEpKTtcclxuXHJcbiAgICAgIC8vIGNhc2UgXCJhbHRlclwiOlxyXG4gICAgICAvLyAgIHJldHVybiBzY3JpcHRbb3BlcmF0b3JdKGFyZ3NbMF0sIHBhcnNlU2NyaXB0KGFyZ3NbMV0sIC4uLmFyZ3Muc2xpY2UoMikpKTtcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHNjcmlwdFtvcGVyYXRvcl0oYXJncylcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JhZG9uL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7QUFFOUIsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRSxPQUFPLEVBQ04sVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsYUFBYSxHQUNiLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFFTixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixjQUFjLEVBQ2QsV0FBVyxHQUNYLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sa0JBQWtCLEdBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLElBQUksOEJBQThCLENBQUM7QUFFNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxRQUFhO0lBQzdDLElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUMzQixNQUFNLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7U0FBTSxJQUFJLFFBQVEsWUFBWSxVQUFVLEVBQUUsQ0FBQztRQUMzQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO1NBQU0sSUFBSSxRQUFRLFlBQVksTUFBTSxFQUFFLENBQUM7UUFDdkMsTUFBTSxHQUFHLFFBQVEsQ0FBQztJQUNuQixDQUFDO1NBQU0sQ0FBQztRQUNQLE1BQU0sSUFBSSxTQUFTLENBQUMsNENBQTRDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVELE1BQU0sVUFBVSxrQkFBa0IsQ0FHakMsSUFBUyxFQUNULElBQThCLEVBQzlCLE9BQWtCO0lBRWxCLElBQUksQ0FBQyxPQUFPO1FBQUUsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUMzQixNQUFNLE9BQU8sR0FBMEMsRUFBRSxDQUFDO0lBQzFELEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsSUFDQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDO1lBQ25DLENBQUMsQ0FBQyxJQUFJO2dCQUNMLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLFlBQVk7b0JBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxhQUFhO29CQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksVUFBVTtvQkFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLGNBQWMsQ0FBQyxDQUFDLEVBQ3RDLENBQUM7WUFDRixPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNaLEdBQUc7Z0JBQ0gsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUM7YUFDbkIsQ0FBQyxDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNGLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNoQixDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUUvQixLQUlEO0lBQ0EsTUFBTSxLQUFLLEdBQUcsS0FBSyxFQUFFLE1BQU07UUFDMUIsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztRQUMvQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUN2QixDQUFDLEtBQXFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FDdkUsQ0FBQztJQUNGLElBQUksS0FBSyxFQUFFLFFBQVEsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sS0FBSyxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO1NBQU0sQ0FBQztRQUNQLE1BQU0sS0FBSyxDQUFDLGdCQUFnQixLQUFLLENBQUMsUUFBUSxrQkFBa0IsQ0FBQyxDQUFDO0lBQy9ELENBQUM7QUFDRixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBR2hDLE9BcUJDLEVBQ0QsUUFBb0Q7SUFFcEQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFXLEVBQUUsT0FBZSxFQUFFLEVBQUUsQ0FDdEQsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNuRCxNQUFNLEtBQUssR0FBRyxPQUFPLEVBQUUsTUFBTTtRQUM1QixDQUFDLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDO1FBQ25ELENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELE9BQU8sS0FBSztTQUNWLE1BQU0sQ0FBQyxDQUFDLEtBQXFDLEVBQUUsRUFBRSxDQUNqRCxDQUFDLFFBQVEsSUFBSSxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQzdEO1NBQ0EsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7U0FDM0MsR0FBRyxDQUFDLENBQUMsS0FBeUMsRUFBRSxFQUFFLENBQUM7UUFDbkQsS0FBSyxDQUFDLEdBQUc7UUFDVCxLQUFLLENBQUMsUUFBUTtLQUNkLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCx1SEFBdUg7QUFDdkgsdUhBQXVIO0FBRXZILFNBQVMsZ0JBQWdCLENBRXZCLE9BR0Q7SUFDQSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxrQkFBa0IsWUFBWSxDQUFDLENBQUM7SUFDekQsT0FBTyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDOUUsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEtBQVUsRUFBRSxNQUFZO0lBQzVDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzFCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakUsQ0FBQztpQkFBTSxDQUFDO2dCQUNQLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDNUMsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDZixDQUFDO1NBQU0sQ0FBQztRQUNQLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7QUFDRixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxNQUFXLEVBQUUsTUFBVyxFQUFFLElBQVU7SUFDaEUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2IsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUM1QixJQUFJLEVBQUUsVUFBVTtZQUNoQixJQUFJLEVBQUUsWUFBWTtZQUNsQixJQUFJLEVBQUUsVUFBVTtZQUNoQixJQUFJLEVBQUUsWUFBWTtZQUNsQixJQUFJLEVBQUUsVUFBVTtZQUNoQixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxXQUFXO1NBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pCLENBQUM7YUFBTSxDQUFDO1lBQ1AsTUFBTSxTQUFTLENBQUMsMkJBQTJCLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNGLENBQUM7SUFDRCxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1osSUFBSSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQzthQUNuQyxLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ2xCLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDUixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDWCxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLFFBQVEsUUFBUSxFQUFFLENBQUM7WUFDbEIsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLEtBQUssQ0FBQztZQUNYLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNkLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFFRCxnQkFBZ0I7WUFDaEIsOEVBQThFO1lBRTlFO2dCQUNDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDRixDQUFDO0FBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcclxuaW1wb3J0IGNib3IgZnJvbSBcImNib3JcIjtcclxuaW1wb3J0IGRvdGVudiBmcm9tIFwiZG90ZW52XCI7XHJcbmRvdGVudi5jb25maWcoeyBxdWlldDogdHJ1ZSB9KVxyXG5cclxuY29uc3QgcmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcclxuXHJcbmltcG9ydCB7IGZyb21IZXhTdHJpbmcsIGlzSGV4U3RyaW5nIH0gZnJvbSBcIi4uLy4uL2Jpbi9oZWxwZXJzLmpzXCI7XHJcblxyXG5pbXBvcnQge1xyXG5cdFJhZG9uTW9kYWwsXHJcblx0UmFkb25SZXF1ZXN0LFxyXG5cdFJhZG9uUmV0cmlldmFsLFxyXG5cdFJhZG9uVGVtcGxhdGUsXHJcbn0gZnJvbSBcIi4vaW5kZXguanNcIjtcclxuXHJcbmltcG9ydCB7XHJcblx0dHlwZSBSYWRvbkFueSxcclxuXHRSYWRvbkFycmF5LFxyXG5cdFJhZG9uQm9vbGVhbixcclxuXHRSYWRvbkJ5dGVzLFxyXG5cdFJhZG9uRmxvYXQsXHJcblx0UmFkb25JbnRlZ2VyLFxyXG5cdFJhZG9uTWFwLFxyXG5cdFJhZG9uT3BlcmF0b3JzLFxyXG5cdFJhZG9uU3RyaW5nLFxyXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XHJcblxyXG5jb25zdCBXSVRORVRfQVNTRVRTX1BBVEggPVxyXG5cdHByb2Nlc3MuZW52LldJVE5FVF9TREtfUkFET05fQVNTRVRTX1BBVEggfHwgXCIuLi8uLi8uLi8uLi8uLi93aXRuZXQvYXNzZXRzXCI7XHJcblxyXG5leHBvcnQgeyBleGVjUmFkb25CeXRlY29kZSB9IGZyb20gXCIuLi8uLi9iaW4vaGVscGVycy5qc1wiO1xyXG5cclxuLyoqXHJcbiAqIERlY29kZXMgYSBSYWRvbiBzY3JpcHQgb3V0IGZyb20gYSBQcm90b2J1Zi1zZXJpYWxpemVkIGJ5dGVjb2RlLlxyXG4gKiBAcGFyYW0gaGV4U3RyaW5nIFJhZG9uIHNjcmlwdCBieXRlY29kZS5cclxuICogQHJldHVybnMgUmFkb24gc2NyaXB0IG9iamVjdCAoaS5lLiBjaGFpbiBvZiBSYWRvbiBvcGVyYXRvcnMgd2l0aCBhIGRldGVybWluaXN0aWMgb3V0cHV0IFJhZG9uIHR5cGUpLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUmFkb25TY3JpcHQoYnl0ZWNvZGU6IGFueSk6IFJhZG9uQW55IHtcclxuXHRsZXQgYnVmZmVyO1xyXG5cdGlmIChpc0hleFN0cmluZyhieXRlY29kZSkpIHtcclxuXHRcdGJ1ZmZlciA9IGZyb21IZXhTdHJpbmcoYnl0ZWNvZGUpO1xyXG5cdH0gZWxzZSBpZiAoYnl0ZWNvZGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XHJcblx0XHRidWZmZXIgPSBCdWZmZXIuZnJvbShieXRlY29kZSk7XHJcblx0fSBlbHNlIGlmIChieXRlY29kZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xyXG5cdFx0YnVmZmVyID0gYnl0ZWNvZGU7XHJcblx0fSBlbHNlIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoYFVuc3VwcG9ydGVkIFJhZG9uU2NyaXB0IGJ5dGVjb2RlIGZvcm1hdDogJHtieXRlY29kZX1gKTtcclxuXHR9XHJcblx0Y29uc3QgYXJyYXkgPSBjYm9yLmRlY29kZShidWZmZXIpO1xyXG5cdHJldHVybiBwYXJzZVNjcmlwdChhcnJheSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuUmFkb25Bc3NldHM8XHJcblx0VCBleHRlbmRzIFJhZG9uUmVxdWVzdCB8IFJhZG9uVGVtcGxhdGUgfCBSYWRvbk1vZGFsIHwgUmFkb25SZXRyaWV2YWwsXHJcbj4oXHJcblx0dHJlZTogYW55LFxyXG5cdHR5cGU/OiB7IG5ldyAoc3BlY3M6IGFueSk6IFQgfSxcclxuXHRoZWFkZXJzPzogc3RyaW5nW10sXHJcbik6IEFycmF5PHsga2V5OiBzdHJpbmc7IGFydGlmYWN0OiBhbnkgfT4ge1xyXG5cdGlmICghaGVhZGVycykgaGVhZGVycyA9IFtdO1xyXG5cdGNvbnN0IGVudHJpZXM6IEFycmF5PHsga2V5OiBzdHJpbmc7IGFydGlmYWN0OiBhbnkgfT4gPSBbXTtcclxuXHRmb3IgKGNvbnN0IGtleSBpbiB0cmVlKSB7XHJcblx0XHRpZiAoXHJcblx0XHRcdCh0eXBlICYmIHRyZWVba2V5XSBpbnN0YW5jZW9mIHR5cGUpIHx8XHJcblx0XHRcdCghdHlwZSAmJlxyXG5cdFx0XHRcdCh0cmVlW2tleV0gaW5zdGFuY2VvZiBSYWRvblJlcXVlc3QgfHxcclxuXHRcdFx0XHRcdHRyZWVba2V5XSBpbnN0YW5jZW9mIFJhZG9uVGVtcGxhdGUgfHxcclxuXHRcdFx0XHRcdHRyZWVba2V5XSBpbnN0YW5jZW9mIFJhZG9uTW9kYWwgfHxcclxuXHRcdFx0XHRcdHRyZWVba2V5XSBpbnN0YW5jZW9mIFJhZG9uUmV0cmlldmFsKSlcclxuXHRcdCkge1xyXG5cdFx0XHRlbnRyaWVzLnB1c2goe1xyXG5cdFx0XHRcdGtleSxcclxuXHRcdFx0XHRhcnRpZmFjdDogdHJlZVtrZXldLFxyXG5cdFx0XHR9KTtcclxuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHRyZWVba2V5XSA9PT0gXCJvYmplY3RcIikge1xyXG5cdFx0XHRlbnRyaWVzLnB1c2goLi4uZmxhdHRlblJhZG9uQXNzZXRzKHRyZWVba2V5XSwgdHlwZSwgWy4uLmhlYWRlcnMsIGtleV0pKTtcclxuXHRcdH1cclxuXHR9XHJcblx0cmV0dXJuIGVudHJpZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlUmFkb25Bc3NldDxcclxuXHRUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbCxcclxuPihzcGVjczoge1xyXG5cdGFydGlmYWN0OiBzdHJpbmc7XHJcblx0YXNzZXRzPzogYW55O1xyXG5cdHR5cGU/OiB7IG5ldyAoc3BlY3M6IGFueSk6IFQgfTtcclxufSk6IFQge1xyXG5cdGNvbnN0IHN0dWZmID0gc3BlY3M/LmFzc2V0c1xyXG5cdFx0PyBmbGF0dGVuUmFkb25Bc3NldHMoc3BlY3MuYXNzZXRzLCBzcGVjcz8udHlwZSlcclxuXHRcdDogbG9hZE1vZHVsZUFzc2V0cyh7IGZsYXR0ZW5lZDogdHJ1ZSwgdHlwZTogc3BlY3M/LnR5cGUgfSk7XHJcblx0Y29uc3QgZm91bmQgPSBzdHVmZi5maW5kKFxyXG5cdFx0KGVudHJ5OiB7IGtleTogc3RyaW5nOyBhcnRpZmFjdDogYW55IH0pID0+IGVudHJ5LmtleSA9PT0gc3BlY3MuYXJ0aWZhY3QsXHJcblx0KTtcclxuXHRpZiAoZm91bmQ/LmFydGlmYWN0KSB7XHJcblx0XHRyZXR1cm4gZm91bmQuYXJ0aWZhY3Q7XHJcblx0fSBlbHNlIHtcclxuXHRcdHRocm93IEVycm9yKGBSYWRvbiBhc3NldCBcIiR7c3BlY3MuYXJ0aWZhY3R9XCIgbm90IGF2YWlsYWJsZS5gKTtcclxuXHR9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTZWFyY2ggV2l0bmV0IFJhZG9uIGFzc2V0cyBkZWNsYXJlZCBvciBpbXBvcnRlZCB3aXRoaW4gY3VycmVudCByZXBvc2l0b3J5LFxyXG4gKiB3aG9zZSBuYW1lcyBjb21wbGllcyB3aXRoIHRoZSBwcm92aWRlZCBgcGF0dGVybmAgYW5kIGBmaWx0ZXJGbmAuXHJcbiAqIElmIG5vIGBmaWx0ZXJGbmAgaXMgc3BlY2lmaWVkLCBzZWFyY2ggd2lsbCBpbmNsdWRlIGFzc2V0cyB3aG9zZSBuYW1lc1xyXG4gKiBhcmUgc3VmZml4ZWQgYnkgZ2l2ZW4gYHBhdHRlcm5gIChjYXNlIGluc2Vuc2l0aXZlKS5cclxuICogQHBhcmFtIG9wdGlvbnMgU2VhcmNoIG9wdGlvbnNcclxuICogQHBhcmFtIGZpbHRlckZuIEZpbHRlcmluZyBmdW5jdGlvbi5cclxuICogQHJldHVybnMgQW4gYXJyYXkgb2YgUmFkb24gYXNzZXRzIG9mIHRoZSBzcGVjaWZpZWQga2luZCBjb21wbHlpbmcgd2l0aCB0aGUgc2VhcmNoIHBhdHRlcm4uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoUmFkb25Bc3NldHM8XHJcblx0VCBleHRlbmRzIFJhZG9uUmVxdWVzdCB8IFJhZG9uVGVtcGxhdGUgfCBSYWRvbk1vZGFsIHwgUmFkb25SZXRyaWV2YWwsXHJcbj4oXHJcblx0b3B0aW9uczoge1xyXG5cdFx0LyoqXHJcblx0XHQgKiBPYmplY3QgY29udGFpbmluZyBzdHJ1Y3R1cmVkIGhlcmlhcmNoeSBvZiBSYWRvbiBhc3NldHMuIElmIG5vdCBwcm92aWRlZCwgUmFkb24gYXNzZXRzIGRlY2xhcmVkIHdpdGhpbiBwcm9qZWN0J3MgZW52aXJvbm1lbnQuXHJcblx0XHQgKi9cclxuXHRcdGFzc2V0cz86IGFueTtcclxuXHRcdC8qKlxyXG5cdFx0ICogTGltaXRzIG51bWJlciBvZiByZXR1cm5lZCBSYWRvbiBhc3NldHMuXHJcblx0XHQgKi9cclxuXHRcdGxpbWl0PzogbnVtYmVyO1xyXG5cdFx0LyoqXHJcblx0XHQgKiBPZmZzZXRzIHJldHVybmVkIGFycmF5IG9mIFJhZG9uIGFzc2V0cy5cclxuXHRcdCAqL1xyXG5cdFx0b2Zmc2V0PzogbnVtYmVyO1xyXG5cdFx0LyoqXHJcblx0XHQgKiBOYW1lIHBhdHRlcm4gc2VhcmNoZWQgZm9yLlxyXG5cdFx0ICovXHJcblx0XHRwYXR0ZXJuOiBzdHJpbmc7XHJcblx0XHQvKipcclxuXHRcdCAqIFNwZWNpZmljIHR5cGUgb2YgUmFkb24gYXNzZXQgdG8gc2VhcmNoIGZvcjogYFJhZG9uUmVxdWVzdGAsIGBSYWRvblJlcXVlc3RgLCBgUmFkb25SZXRyaWV2YWxgIG9yIGBSYWRvbkNDRFJgLlxyXG5cdFx0ICovXHJcblx0XHR0eXBlPzogeyBuZXcgKHNwZWNzOiBhbnkpOiBUIH07XHJcblx0fSxcclxuXHRmaWx0ZXJGbj86IChrZXk6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKSA9PiBib29sZWFuLFxyXG4pOiBBcnJheTxba2V5OiBzdHJpbmcsIGFydGlmYWN0OiBUXT4ge1xyXG5cdGNvbnN0IGRlZmF1bHRGaWx0ZXIgPSAoa2V5OiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZykgPT5cclxuXHRcdGtleS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHBhdHRlcm4udG9Mb3dlckNhc2UoKSk7XHJcblx0Y29uc3Qgc3R1ZmYgPSBvcHRpb25zPy5hc3NldHNcclxuXHRcdD8gZmxhdHRlblJhZG9uQXNzZXRzKG9wdGlvbnMuYXNzZXRzLCBvcHRpb25zPy50eXBlKVxyXG5cdFx0OiBsb2FkTW9kdWxlQXNzZXRzKHsgZmxhdHRlbmVkOiB0cnVlLCB0eXBlOiBvcHRpb25zPy50eXBlIH0pO1xyXG5cdHJldHVybiBzdHVmZlxyXG5cdFx0LmZpbHRlcigoZW50cnk6IHsga2V5OiBzdHJpbmc7IGFydGlmYWN0OiBhbnkgfSkgPT5cclxuXHRcdFx0KGZpbHRlckZuIHx8IGRlZmF1bHRGaWx0ZXIpKGVudHJ5LmtleSwgb3B0aW9ucy5wYXR0ZXJuIHx8IFwiXCIpLFxyXG5cdFx0KVxyXG5cdFx0LnNsaWNlKG9wdGlvbnM/Lm9mZnNldCB8fCAwLCBvcHRpb25zPy5saW1pdClcclxuXHRcdC5tYXAoKGVudHJ5OiB7IGtleTogc3RyaW5nOyBhcnRpZmFjdDogYW55IHwgVCB9KSA9PiBbXHJcblx0XHRcdGVudHJ5LmtleSxcclxuXHRcdFx0ZW50cnkuYXJ0aWZhY3QsXHJcblx0XHRdKTtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gLS0tIElOVEVSTkFMIE1FVEhPRFMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmZ1bmN0aW9uIGxvYWRNb2R1bGVBc3NldHM8XHJcblx0VCBleHRlbmRzIFJhZG9uUmVxdWVzdCB8IFJhZG9uVGVtcGxhdGUgfCBSYWRvbk1vZGFsIHwgUmFkb25SZXRyaWV2YWwsXHJcbj4ob3B0aW9uczoge1xyXG5cdGZsYXR0ZW5lZD86IGJvb2xlYW47XHJcblx0dHlwZT86IHsgbmV3IChzcGVjczogYW55KTogVCB9O1xyXG59KTogYW55IHtcclxuXHRjb25zdCBzdHVmZiA9IHJlcXVpcmUoYCR7V0lUTkVUX0FTU0VUU19QQVRIfS9pbmRleC5janNgKTtcclxuXHRyZXR1cm4gb3B0aW9ucz8uZmxhdHRlbmVkID8gZmxhdHRlblJhZG9uQXNzZXRzKHN0dWZmLCBvcHRpb25zPy50eXBlKSA6IHN0dWZmO1xyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZVNjcmlwdChhcnJheTogYW55LCBzY3JpcHQ/OiBhbnkpOiBhbnkge1xyXG5cdGlmIChBcnJheS5pc0FycmF5KGFycmF5KSkge1xyXG5cdFx0YXJyYXkuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG5cdFx0XHRpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xyXG5cdFx0XHRcdHNjcmlwdCA9IHBhcnNlU2NyaXB0T3BlcmF0b3Ioc2NyaXB0LCBpdGVtWzBdLCAuLi5pdGVtLnNsaWNlKDEpKTtcclxuXHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRzY3JpcHQgPSBwYXJzZVNjcmlwdE9wZXJhdG9yKHNjcmlwdCwgaXRlbSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0cmV0dXJuIHNjcmlwdDtcclxuXHR9IGVsc2Uge1xyXG5cdFx0cmV0dXJuIHBhcnNlU2NyaXB0T3BlcmF0b3Ioc2NyaXB0LCBhcnJheSk7XHJcblx0fVxyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZVNjcmlwdE9wZXJhdG9yKHNjcmlwdDogYW55LCBvcGNvZGU6IGFueSwgYXJncz86IGFueSk6IGFueSB7XHJcblx0aWYgKCFzY3JpcHQpIHtcclxuXHRcdGNvbnN0IGZvdW5kID0gT2JqZWN0LmVudHJpZXMoe1xyXG5cdFx0XHRcIjEwXCI6IFJhZG9uQXJyYXksXHJcblx0XHRcdFwiMjBcIjogUmFkb25Cb29sZWFuLFxyXG5cdFx0XHRcIjMwXCI6IFJhZG9uQnl0ZXMsXHJcblx0XHRcdFwiNDBcIjogUmFkb25JbnRlZ2VyLFxyXG5cdFx0XHRcIjUwXCI6IFJhZG9uRmxvYXQsXHJcblx0XHRcdFwiNjBcIjogUmFkb25NYXAsXHJcblx0XHRcdFwiNzBcIjogUmFkb25TdHJpbmcsXHJcblx0XHR9KS5maW5kKChlbnRyeSkgPT4gZW50cnlbMF0gPT09IChwYXJzZUludChvcGNvZGUsIDEwKSAmIDB4ZjApLnRvU3RyaW5nKDE2KSk7XHJcblx0XHRpZiAoZm91bmQpIHtcclxuXHRcdFx0c2NyaXB0ID0gbmV3IGZvdW5kWzFdKCk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aHJvdyBUeXBlRXJyb3IoYHVua25vd24gUmFkb24gb3BlcmF0b3I6ICR7b3Bjb2RlfWApO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRpZiAob3Bjb2RlKSB7XHJcblx0XHRsZXQgb3BlcmF0b3IgPSBSYWRvbk9wZXJhdG9yc1tvcGNvZGVdXHJcblx0XHRcdC5zcGxpdCgvKD89W0EtWl0pLylcclxuXHRcdFx0LnNsaWNlKDEpXHJcblx0XHRcdC5qb2luKFwiXCIpO1xyXG5cdFx0b3BlcmF0b3IgPSBvcGVyYXRvci5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIG9wZXJhdG9yLnNsaWNlKDEpO1xyXG5cdFx0c3dpdGNoIChvcGVyYXRvcikge1xyXG5cdFx0XHRjYXNlIFwiZmlsdGVyXCI6XHJcblx0XHRcdGNhc2UgXCJtYXBcIjpcclxuXHRcdFx0Y2FzZSBcInNvcnRcIjpcclxuXHRcdFx0Y2FzZSBcImFsdGVyXCI6IHtcclxuXHRcdFx0XHRjb25zdCBpbm5lclNjcmlwdCA9IHBhcnNlU2NyaXB0KGFyZ3MpO1xyXG5cdFx0XHRcdHJldHVybiBzY3JpcHRbb3BlcmF0b3JdKGlubmVyU2NyaXB0LCAuLi5hcmdzLnNsaWNlKDEpKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gY2FzZSBcImFsdGVyXCI6XHJcblx0XHRcdC8vICAgcmV0dXJuIHNjcmlwdFtvcGVyYXRvcl0oYXJnc1swXSwgcGFyc2VTY3JpcHQoYXJnc1sxXSwgLi4uYXJncy5zbGljZSgyKSkpO1xyXG5cclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRyZXR1cm4gc2NyaXB0W29wZXJhdG9yXShhcmdzKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
@@ -0,0 +1,20 @@
1
+ import type { Hash } from "../types.js";
2
+ import type { DataPushReport } from "./types.js";
3
+ interface IKermitClient {
4
+ getDataPushReport(witDrTxHash: Hash, evmNetwork?: number | string): Promise<DataPushReport>;
5
+ }
6
+ export declare class KermitError extends Error {
7
+ readonly error?: any;
8
+ readonly path: string;
9
+ readonly query?: any;
10
+ constructor(path: string, query?: any, error?: any);
11
+ }
12
+ export declare class KermitClient implements IKermitClient {
13
+ static fromEnv(url?: string): Promise<KermitClient>;
14
+ readonly url: string;
15
+ constructor(url: string);
16
+ protected callApiGetMethod<T>(path: string, query?: any): Promise<Error | any>;
17
+ getDataPushReport(witDrTxHash: Hash, evmNetwork?: number | string): Promise<DataPushReport>;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=kermit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kermit.d.ts","sourceRoot":"","sources":["../../../../src/lib/rest/kermit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQjD,UAAU,aAAa;IACtB,iBAAiB,CAChB,WAAW,EAAE,IAAI,EACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC,cAAc,CAAC,CAAC;CAE3B;AAED,qBAAa,WAAY,SAAQ,KAAK;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;gBACT,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG;CAOlD;AAED,qBAAa,YAAa,YAAW,aAAa;WACpC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAQzD,SAAgB,GAAG,EAAE,MAAM,CAAC;gBAEhB,GAAG,EAAE,MAAM;cAcP,gBAAgB,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,GAAG,GACT,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC;IA4BV,iBAAiB,CAC7B,WAAW,EAAE,IAAI,EACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAC1B,OAAO,CAAC,cAAc,CAAC;CAM1B"}
@@ -0,0 +1,68 @@
1
+ import { default as axios } from "axios";
2
+ import { default as jsonBig } from "json-bigint";
3
+ import { parseURL } from "../utils.js";
4
+ const stringify = (query) => Object.entries(query)
5
+ .map(([key, value]) => `&${key}=${value}`)
6
+ .join("")
7
+ .slice(1);
8
+ export class KermitError extends Error {
9
+ error;
10
+ path;
11
+ query;
12
+ constructor(path, query, error) {
13
+ super(`${path}${stringify(query)}: ${JSON.stringify(error)}`);
14
+ delete error?.stack;
15
+ this.error = error;
16
+ this.path = path;
17
+ this.query = query;
18
+ }
19
+ }
20
+ export class KermitClient {
21
+ static async fromEnv(url) {
22
+ return new KermitClient(url ||
23
+ process.env.WITNET_KERMIT_PROVIDER_URL ||
24
+ "https://kermit.witnet.io");
25
+ }
26
+ url;
27
+ constructor(url) {
28
+ const [schema] = parseURL(url);
29
+ if (!schema.startsWith("http://") && !schema.startsWith("https://")) {
30
+ throw Error(`KermitClient: unsupported URL schema ${schema}`);
31
+ }
32
+ this.url = url;
33
+ if (!this.url.endsWith("/")) {
34
+ this.url += "/";
35
+ }
36
+ if (!this.url.endsWith("api/")) {
37
+ this.url += "api/";
38
+ }
39
+ }
40
+ async callApiGetMethod(path, query) {
41
+ const url = `${this.url}${path}${query ? `?${stringify(query)}` : ""}`;
42
+ return axios
43
+ .get(url, {
44
+ transformResponse: (response) => jsonBig().parse(response),
45
+ })
46
+ .then((response) => {
47
+ if (response?.error || response?.data?.error) {
48
+ throw new KermitError(path, query, response?.error || response?.data?.error);
49
+ }
50
+ else if (response?.statusCode && response.statusCode !== 200) {
51
+ throw new KermitError(path, query, `server status code: HTTP/${response.statusCode}`);
52
+ }
53
+ else {
54
+ return response?.data;
55
+ }
56
+ })
57
+ .catch((error) => {
58
+ throw new KermitError(path, query, error);
59
+ });
60
+ }
61
+ async getDataPushReport(witDrTxHash, evmNetwork) {
62
+ return this.callApiGetMethod("get_data_push_report", {
63
+ witDrTxHash,
64
+ evmNetwork,
65
+ });
66
+ }
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VybWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9yZXN0L2tlcm1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxJQUFJLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXZDLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FDaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDbkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO0tBQ3pDLElBQUksQ0FBQyxFQUFFLENBQUM7S0FDUixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFVWixNQUFNLE9BQU8sV0FBWSxTQUFRLEtBQUs7SUFDNUIsS0FBSyxDQUFPO0lBQ1osSUFBSSxDQUFTO0lBQ2IsS0FBSyxDQUFPO0lBQ3JCLFlBQVksSUFBWSxFQUFFLEtBQVcsRUFBRSxLQUFXO1FBQ2pELEtBQUssQ0FBQyxHQUFHLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUQsT0FBTyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRDtBQUVELE1BQU0sT0FBTyxZQUFZO0lBQ3hCLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQVk7UUFDaEMsT0FBTyxJQUFJLFlBQVksQ0FDdEIsR0FBRztZQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCO1lBQ3RDLDBCQUEwQixDQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUVlLEdBQUcsQ0FBUztJQUU1QixZQUFZLEdBQVc7UUFDdEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNyRSxNQUFNLEtBQUssQ0FBQyx3Q0FBd0MsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQztRQUNqQixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUM7UUFDcEIsQ0FBQztJQUNGLENBQUM7SUFFUyxLQUFLLENBQUMsZ0JBQWdCLENBQy9CLElBQVksRUFDWixLQUFXO1FBRVgsTUFBTSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3ZFLE9BQU8sS0FBSzthQUNWLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDVCxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztTQUMxRCxDQUFDO2FBQ0QsSUFBSSxDQUFDLENBQUMsUUFBYSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxRQUFRLEVBQUUsS0FBSyxJQUFJLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sSUFBSSxXQUFXLENBQ3BCLElBQUksRUFDSixLQUFLLEVBQ0wsUUFBUSxFQUFFLEtBQUssSUFBSSxRQUFRLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FDeEMsQ0FBQztZQUNILENBQUM7aUJBQU0sSUFBSSxRQUFRLEVBQUUsVUFBVSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEtBQUssR0FBRyxFQUFFLENBQUM7Z0JBQ2hFLE1BQU0sSUFBSSxXQUFXLENBQ3BCLElBQUksRUFDSixLQUFLLEVBQ0wsNEJBQTRCLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FDakQsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDUCxPQUFPLFFBQVEsRUFBRSxJQUFTLENBQUM7WUFDNUIsQ0FBQztRQUNGLENBQUMsQ0FBQzthQUNELEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxLQUFLLENBQUMsaUJBQWlCLENBQzdCLFdBQWlCLEVBQ2pCLFVBQTRCO1FBRTVCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFpQixzQkFBc0IsRUFBRTtZQUNwRSxXQUFXO1lBQ1gsVUFBVTtTQUNWLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHQgYXMgYXhpb3MgfSBmcm9tIFwiYXhpb3NcIjtcclxuaW1wb3J0IHsgZGVmYXVsdCBhcyBqc29uQmlnIH0gZnJvbSBcImpzb24tYmlnaW50XCI7XHJcbmltcG9ydCB0eXBlIHsgSGFzaCB9IGZyb20gXCIuLi90eXBlcy5qc1wiO1xyXG5pbXBvcnQgeyBwYXJzZVVSTCB9IGZyb20gXCIuLi91dGlscy5qc1wiO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBEYXRhUHVzaFJlcG9ydCB9IGZyb20gXCIuL3R5cGVzLmpzXCI7XHJcblxyXG5jb25zdCBzdHJpbmdpZnkgPSAocXVlcnk6IGFueSkgPT5cclxuXHRPYmplY3QuZW50cmllcyhxdWVyeSlcclxuXHRcdC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCYke2tleX09JHt2YWx1ZX1gKVxyXG5cdFx0LmpvaW4oXCJcIilcclxuXHRcdC5zbGljZSgxKTtcclxuXHJcbmludGVyZmFjZSBJS2VybWl0Q2xpZW50IHtcclxuXHRnZXREYXRhUHVzaFJlcG9ydChcclxuXHRcdHdpdERyVHhIYXNoOiBIYXNoLFxyXG5cdFx0ZXZtTmV0d29yaz86IG51bWJlciB8IHN0cmluZyxcclxuXHQpOiBQcm9taXNlPERhdGFQdXNoUmVwb3J0PjtcclxuXHQvLyBzZWFyY2hEYXRhUmVxdWVzdHMoaGFzaDogSGFzaCwge30pOiBQcm9taXNlPGFueT47XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBLZXJtaXRFcnJvciBleHRlbmRzIEVycm9yIHtcclxuXHRyZWFkb25seSBlcnJvcj86IGFueTtcclxuXHRyZWFkb25seSBwYXRoOiBzdHJpbmc7XHJcblx0cmVhZG9ubHkgcXVlcnk/OiBhbnk7XHJcblx0Y29uc3RydWN0b3IocGF0aDogc3RyaW5nLCBxdWVyeT86IGFueSwgZXJyb3I/OiBhbnkpIHtcclxuXHRcdHN1cGVyKGAke3BhdGh9JHtzdHJpbmdpZnkocXVlcnkpfTogJHtKU09OLnN0cmluZ2lmeShlcnJvcil9YCk7XHJcblx0XHRkZWxldGUgZXJyb3I/LnN0YWNrO1xyXG5cdFx0dGhpcy5lcnJvciA9IGVycm9yO1xyXG5cdFx0dGhpcy5wYXRoID0gcGF0aDtcclxuXHRcdHRoaXMucXVlcnkgPSBxdWVyeTtcclxuXHR9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBLZXJtaXRDbGllbnQgaW1wbGVtZW50cyBJS2VybWl0Q2xpZW50IHtcclxuXHRzdGF0aWMgYXN5bmMgZnJvbUVudih1cmw/OiBzdHJpbmcpOiBQcm9taXNlPEtlcm1pdENsaWVudD4ge1xyXG5cdFx0cmV0dXJuIG5ldyBLZXJtaXRDbGllbnQoXHJcblx0XHRcdHVybCB8fFxyXG5cdFx0XHRcdHByb2Nlc3MuZW52LldJVE5FVF9LRVJNSVRfUFJPVklERVJfVVJMIHx8XHJcblx0XHRcdFx0XCJodHRwczovL2tlcm1pdC53aXRuZXQuaW9cIixcclxuXHRcdCk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHVybDogc3RyaW5nKSB7XHJcblx0XHRjb25zdCBbc2NoZW1hXSA9IHBhcnNlVVJMKHVybCk7XHJcblx0XHRpZiAoIXNjaGVtYS5zdGFydHNXaXRoKFwiaHR0cDovL1wiKSAmJiAhc2NoZW1hLnN0YXJ0c1dpdGgoXCJodHRwczovL1wiKSkge1xyXG5cdFx0XHR0aHJvdyBFcnJvcihgS2VybWl0Q2xpZW50OiB1bnN1cHBvcnRlZCBVUkwgc2NoZW1hICR7c2NoZW1hfWApO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy51cmwgPSB1cmw7XHJcblx0XHRpZiAoIXRoaXMudXJsLmVuZHNXaXRoKFwiL1wiKSkge1xyXG5cdFx0XHR0aGlzLnVybCArPSBcIi9cIjtcclxuXHRcdH1cclxuXHRcdGlmICghdGhpcy51cmwuZW5kc1dpdGgoXCJhcGkvXCIpKSB7XHJcblx0XHRcdHRoaXMudXJsICs9IFwiYXBpL1wiO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIGFzeW5jIGNhbGxBcGlHZXRNZXRob2Q8VD4oXHJcblx0XHRwYXRoOiBzdHJpbmcsXHJcblx0XHRxdWVyeT86IGFueSxcclxuXHQpOiBQcm9taXNlPEVycm9yIHwgYW55PiB7XHJcblx0XHRjb25zdCB1cmwgPSBgJHt0aGlzLnVybH0ke3BhdGh9JHtxdWVyeSA/IGA/JHtzdHJpbmdpZnkocXVlcnkpfWAgOiBcIlwifWA7XHJcblx0XHRyZXR1cm4gYXhpb3NcclxuXHRcdFx0LmdldCh1cmwsIHtcclxuXHRcdFx0XHR0cmFuc2Zvcm1SZXNwb25zZTogKHJlc3BvbnNlKSA9PiBqc29uQmlnKCkucGFyc2UocmVzcG9uc2UpLFxyXG5cdFx0XHR9KVxyXG5cdFx0XHQudGhlbigocmVzcG9uc2U6IGFueSkgPT4ge1xyXG5cdFx0XHRcdGlmIChyZXNwb25zZT8uZXJyb3IgfHwgcmVzcG9uc2U/LmRhdGE/LmVycm9yKSB7XHJcblx0XHRcdFx0XHR0aHJvdyBuZXcgS2VybWl0RXJyb3IoXHJcblx0XHRcdFx0XHRcdHBhdGgsXHJcblx0XHRcdFx0XHRcdHF1ZXJ5LFxyXG5cdFx0XHRcdFx0XHRyZXNwb25zZT8uZXJyb3IgfHwgcmVzcG9uc2U/LmRhdGE/LmVycm9yLFxyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKHJlc3BvbnNlPy5zdGF0dXNDb2RlICYmIHJlc3BvbnNlLnN0YXR1c0NvZGUgIT09IDIwMCkge1xyXG5cdFx0XHRcdFx0dGhyb3cgbmV3IEtlcm1pdEVycm9yKFxyXG5cdFx0XHRcdFx0XHRwYXRoLFxyXG5cdFx0XHRcdFx0XHRxdWVyeSxcclxuXHRcdFx0XHRcdFx0YHNlcnZlciBzdGF0dXMgY29kZTogSFRUUC8ke3Jlc3BvbnNlLnN0YXR1c0NvZGV9YCxcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHJldHVybiByZXNwb25zZT8uZGF0YSBhcyBUO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSlcclxuXHRcdFx0LmNhdGNoKChlcnJvcikgPT4ge1xyXG5cdFx0XHRcdHRocm93IG5ldyBLZXJtaXRFcnJvcihwYXRoLCBxdWVyeSwgZXJyb3IpO1xyXG5cdFx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBnZXREYXRhUHVzaFJlcG9ydChcclxuXHRcdHdpdERyVHhIYXNoOiBIYXNoLFxyXG5cdFx0ZXZtTmV0d29yaz86IG51bWJlciB8IHN0cmluZyxcclxuXHQpOiBQcm9taXNlPERhdGFQdXNoUmVwb3J0PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5jYWxsQXBpR2V0TWV0aG9kPERhdGFQdXNoUmVwb3J0PihcImdldF9kYXRhX3B1c2hfcmVwb3J0XCIsIHtcclxuXHRcdFx0d2l0RHJUeEhhc2gsXHJcblx0XHRcdGV2bU5ldHdvcmssXHJcblx0XHR9KTtcclxuXHR9XHJcbn1cclxuIl19
@@ -0,0 +1,5 @@
1
+ import type { GetDataRequestEtherealReport, HexString } from "../types.js";
2
+ export type DataPushReport = GetDataRequestEtherealReport & {
3
+ evm_proof?: HexString;
4
+ };
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/rest/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE3E,MAAM,MAAM,cAAc,GAAG,4BAA4B,GAAG;IAC3D,SAAS,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3Jlc3QvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgR2V0RGF0YVJlcXVlc3RFdGhlcmVhbFJlcG9ydCwgSGV4U3RyaW5nIH0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhUHVzaFJlcG9ydCA9IEdldERhdGFSZXF1ZXN0RXRoZXJlYWxSZXBvcnQgJiB7XHJcblx0ZXZtX3Byb29mPzogSGV4U3RyaW5nO1xyXG59O1xyXG4iXX0=
@@ -1,3 +1,3 @@
1
- export * from "./nodes";
2
- export * from "./provider";
1
+ export * from "./nodes.js";
2
+ export * from "./provider.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -1,19 +1,3 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./nodes"), exports);
18
- __exportStar(require("./provider"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXVCO0FBQ3ZCLDZDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL25vZGVzXCJcclxuZXhwb3J0ICogZnJvbSBcIi4vcHJvdmlkZXJcIlxyXG4iXX0=
1
+ export * from "./nodes.js";
2
+ export * from "./provider.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JwYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL25vZGVzLmpzXCI7XHJcbmV4cG9ydCAqIGZyb20gXCIuL3Byb3ZpZGVyLmpzXCI7XHJcbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { PublicKey, PublicKeyHashString } from "../crypto/types";
2
- import { IJsonRpcProvider, JsonRpcProvider } from "./provider";
3
- import { Balance2, NodeStats, PeerAddr, SyncStatus } from "./types";
4
- import { Epoch, HexString, Nonce } from "../types";
1
+ import { PublicKey, type PublicKeyHashString } from "../crypto/types.js";
2
+ import type { Epoch, HexString, Nonce } from "../types.js";
3
+ import { type IJsonRpcProvider, JsonRpcProvider } from "./provider.js";
4
+ import { type Balance2, type NodeStats, type PeerAddr, type SyncStatus } from "./types.js";
5
5
  export interface IJsonRpcNodeFarm extends IJsonRpcProvider {
6
6
  addresses(): Promise<Record<string, PublicKeyHashString>>;
7
7
  balances(): Promise<Record<string, [PublicKeyHashString, Balance2]>>;
@@ -10,12 +10,12 @@ export interface IJsonRpcNodeFarm extends IJsonRpcProvider {
10
10
  syncStatus(): Promise<Record<string, SyncStatus>>;
11
11
  peers(validator?: PublicKeyHashString): Promise<Array<PeerAddr>>;
12
12
  stats(): Promise<Record<string, NodeStats>>;
13
- withdrawers(): Promise<Record<PublicKeyHashString, [BigInt, Nonce, number]>>;
14
- addPeers(peers: Array<string>): Promise<Record<string, Boolean>>;
13
+ withdrawers(): Promise<Record<PublicKeyHashString, [bigint, Nonce, number]>>;
14
+ addPeers(peers: Array<string>): Promise<Record<string, boolean>>;
15
15
  authorizeStakes(withdrawer: PublicKeyHashString): Promise<Record<string, [PublicKeyHashString, HexString]>>;
16
- clearPeers(): Promise<Record<string, Boolean>>;
17
- initializePeers(): Promise<Record<string, Boolean>>;
18
- rewind(epoch: Epoch): Promise<Record<string, Boolean>>;
16
+ clearPeers(): Promise<Record<string, boolean>>;
17
+ initializePeers(): Promise<Record<string, boolean>>;
18
+ rewind(epoch: Epoch): Promise<Record<string, boolean>>;
19
19
  }
20
20
  export declare class JsonRpcNodeFarm extends JsonRpcProvider implements IJsonRpcNodeFarm {
21
21
  constructor(url?: string);
@@ -31,10 +31,10 @@ export declare class JsonRpcNodeFarm extends JsonRpcProvider implements IJsonRpc
31
31
  stats(): Promise<Record<string, NodeStats>>;
32
32
  syncStatus(): Promise<any>;
33
33
  withdrawers(limit?: number, offset?: number): Promise<Record<PublicKeyHashString, [bigint, Nonce, number]>>;
34
- addPeers(peers: Array<string>): Promise<Record<string, Boolean>>;
34
+ addPeers(peers: Array<string>): Promise<Record<string, boolean>>;
35
35
  authorizeStakes(withdrawer: PublicKeyHashString): Promise<Record<string, [PublicKeyHashString, HexString]>>;
36
- clearPeers(): Promise<Record<string, Boolean>>;
37
- initializePeers(): Promise<Record<string, Boolean>>;
38
- rewind(epoch: Epoch): Promise<Record<string, Boolean>>;
36
+ clearPeers(): Promise<Record<string, boolean>>;
37
+ initializePeers(): Promise<Record<string, boolean>>;
38
+ rewind(epoch: Epoch): Promise<Record<string, boolean>>;
39
39
  }
40
40
  //# sourceMappingURL=nodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/nodes.ts"],"names":[],"mappings":"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"}