@witnet/sdk 1.1.3 → 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.
- package/.env_witnet +13 -1
- package/dist/package.json +31 -24
- package/dist/src/bin/helpers.d.ts +59 -49
- package/dist/src/bin/helpers.d.ts.map +1 -1
- package/dist/src/bin/helpers.js +228 -229
- package/dist/src/index.d.ts +3 -4
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -47
- package/dist/src/lib/crypto/account.d.ts +3 -3
- package/dist/src/lib/crypto/account.d.ts.map +1 -1
- package/dist/src/lib/crypto/account.js +31 -25
- package/dist/src/lib/crypto/coinbase.d.ts +4 -4
- package/dist/src/lib/crypto/coinbase.d.ts.map +1 -1
- package/dist/src/lib/crypto/coinbase.js +8 -13
- package/dist/src/lib/crypto/index.d.ts +7 -7
- package/dist/src/lib/crypto/index.d.ts.map +1 -1
- package/dist/src/lib/crypto/index.js +7 -30
- package/dist/src/lib/crypto/interfaces.d.ts +5 -5
- package/dist/src/lib/crypto/interfaces.d.ts.map +1 -1
- package/dist/src/lib/crypto/interfaces.js +2 -3
- package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +5 -5
- package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads/DataRequestPayload.js +107 -95
- package/dist/src/lib/crypto/payloads/StakePayload.d.ts +3 -4
- package/dist/src/lib/crypto/payloads/StakePayload.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads/StakePayload.js +81 -71
- package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts +4 -5
- package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads/UnstakePayload.js +36 -43
- package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts +3 -4
- package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +46 -48
- package/dist/src/lib/crypto/payloads.d.ts +5 -5
- package/dist/src/lib/crypto/payloads.d.ts.map +1 -1
- package/dist/src/lib/crypto/payloads.js +44 -45
- package/dist/src/lib/crypto/signer.d.ts +3 -3
- package/dist/src/lib/crypto/signer.d.ts.map +1 -1
- package/dist/src/lib/crypto/signer.js +45 -88
- package/dist/src/lib/crypto/transmitters/DataRequests.d.ts +6 -6
- package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -1
- package/dist/src/lib/crypto/transmitters/DataRequests.js +6 -10
- package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts +5 -5
- package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -1
- package/dist/src/lib/crypto/transmitters/StakeDeposits.js +7 -11
- package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts +6 -7
- package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -1
- package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +9 -13
- package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts +5 -5
- package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -1
- package/dist/src/lib/crypto/transmitters/ValueTransfers.js +6 -10
- package/dist/src/lib/crypto/transmitters.d.ts +6 -6
- package/dist/src/lib/crypto/transmitters.d.ts.map +1 -1
- package/dist/src/lib/crypto/transmitters.js +88 -76
- package/dist/src/lib/crypto/types.d.ts +1 -2
- package/dist/src/lib/crypto/types.d.ts.map +1 -1
- package/dist/src/lib/crypto/types.js +71 -67
- package/dist/src/lib/crypto/utils.d.ts +5 -5
- package/dist/src/lib/crypto/utils.d.ts.map +1 -1
- package/dist/src/lib/crypto/utils.js +48 -66
- package/dist/src/lib/crypto/wallet.d.ts +3 -3
- package/dist/src/lib/crypto/wallet.d.ts.map +1 -1
- package/dist/src/lib/crypto/wallet.js +72 -89
- package/dist/src/lib/index.d.ts +5 -4
- package/dist/src/lib/index.d.ts.map +1 -1
- package/dist/src/lib/index.js +6 -44
- package/dist/src/lib/radon/ccdr/eth.d.ts +1 -1
- package/dist/src/lib/radon/ccdr/eth.d.ts.map +1 -1
- package/dist/src/lib/radon/ccdr/eth.js +95 -83
- package/dist/src/lib/radon/ccdr/index.d.ts +2 -2
- package/dist/src/lib/radon/ccdr/index.d.ts.map +1 -1
- package/dist/src/lib/radon/ccdr/index.js +3 -39
- package/dist/src/lib/radon/ccdr/wit.d.ts +2 -2
- package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -1
- package/dist/src/lib/radon/ccdr/wit.js +17 -19
- package/dist/src/lib/radon/filters.d.ts.map +1 -1
- package/dist/src/lib/radon/filters.js +23 -19
- package/dist/src/lib/radon/index.d.ts +10 -11
- package/dist/src/lib/radon/index.d.ts.map +1 -1
- package/dist/src/lib/radon/index.js +205 -187
- package/dist/src/lib/radon/reducers.d.ts +2 -2
- package/dist/src/lib/radon/reducers.d.ts.map +1 -1
- package/dist/src/lib/radon/reducers.js +48 -34
- package/dist/src/lib/radon/types.d.ts +2 -2
- package/dist/src/lib/radon/types.d.ts.map +1 -1
- package/dist/src/lib/radon/types.js +80 -110
- package/dist/src/lib/radon/utils.d.ts +3 -3
- package/dist/src/lib/radon/utils.d.ts.map +1 -1
- package/dist/src/lib/radon/utils.js +49 -52
- package/dist/src/lib/rest/kermit.d.ts +20 -0
- package/dist/src/lib/rest/kermit.d.ts.map +1 -0
- package/dist/src/lib/rest/kermit.js +68 -0
- package/dist/src/lib/rest/types.d.ts +5 -0
- package/dist/src/lib/rest/types.d.ts.map +1 -0
- package/dist/src/lib/rest/types.js +2 -0
- package/dist/src/lib/rpc/index.d.ts +2 -2
- package/dist/src/lib/rpc/index.d.ts.map +1 -1
- package/dist/src/lib/rpc/index.js +3 -19
- package/dist/src/lib/rpc/nodes.d.ts +13 -13
- package/dist/src/lib/rpc/nodes.d.ts.map +1 -1
- package/dist/src/lib/rpc/nodes.js +69 -98
- package/dist/src/lib/rpc/provider.d.ts +4 -4
- package/dist/src/lib/rpc/provider.d.ts.map +1 -1
- package/dist/src/lib/rpc/provider.js +111 -125
- package/dist/src/lib/rpc/types.d.ts +2 -2
- package/dist/src/lib/rpc/types.d.ts.map +1 -1
- package/dist/src/lib/rpc/types.js +13 -16
- package/dist/src/lib/types.d.ts +5 -4
- package/dist/src/lib/types.d.ts.map +1 -1
- package/dist/src/lib/types.js +3 -9
- package/dist/src/lib/utils.d.ts +5 -5
- package/dist/src/lib/utils.d.ts.map +1 -1
- package/dist/src/lib/utils.js +40 -99
- package/dist/witnet/assets/index.cjs +6 -0
- package/dist/witnet/assets/index.d.cts +29 -0
- package/dist/witnet/assets/index.d.cts.map +1 -0
- package/dist/witnet/assets/modals/index.cjs +9 -0
- package/dist/witnet/assets/modals/index.d.cts +16 -0
- package/dist/witnet/assets/modals/index.d.cts.map +1 -0
- package/dist/witnet/assets/modals/web3/eth.cjs +23 -0
- package/dist/witnet/assets/modals/web3/eth.d.cts +4 -0
- package/dist/witnet/assets/modals/web3/eth.d.cts.map +1 -0
- package/dist/witnet/assets/modals/web3/ipfs.cjs +18 -0
- package/dist/witnet/assets/modals/web3/ipfs.d.cts +3 -0
- package/dist/witnet/assets/modals/web3/ipfs.d.cts.map +1 -0
- package/dist/witnet/assets/modals/web3/wit.cjs +24 -0
- package/dist/witnet/assets/modals/web3/wit.d.cts +3 -0
- package/dist/witnet/assets/modals/web3/wit.d.cts.map +1 -0
- package/dist/witnet/assets/requests.cjs +43 -0
- package/dist/witnet/assets/requests.d.cts +10 -0
- package/dist/witnet/assets/requests.d.cts.map +1 -0
- package/package.json +31 -24
- package/src/bin/bots/watcher.cjs +354 -0
- package/src/bin/cli/history.cjs +31 -0
- package/src/bin/cli/inspect.js +545 -471
- package/src/bin/cli/network.js +658 -557
- package/src/bin/cli/nodes.js +392 -332
- package/src/bin/cli/radon.js +1071 -844
- package/src/bin/cli/wallet.js +1317 -1074
- package/src/bin/helpers.js +969 -868
- package/src/bin/index.js +329 -0
- package/witnet/assets/_index.cjs +5 -0
- package/witnet/assets/_requests.cjs +25 -0
- package/witnet/assets/_sources.cjs +36 -0
- package/witnet/assets/_templates.cjs +36 -0
- package/witnet/assets/index.cjs +4 -0
- package/witnet/assets/modals/index.cjs +7 -0
- package/witnet/assets/modals/web3/eth.cjs +27 -0
- package/witnet/assets/modals/web3/ipfs.cjs +22 -0
- package/witnet/assets/modals/web3/wit.cjs +28 -0
- package/witnet/assets/requests.cjs +49 -0
- package/witnet/witnet copy.proto +457 -0
- package/witnet/witnet.proto +456 -0
- package/witnet/witnet_toolkit-1.6.7-x86_64-pc-windows-msvc.exe +0 -0
- package/witnet/witnet_toolkit-1.7.1-x86_64-pc-windows-msvc.exe +0 -0
- package/witnet/witnet_toolkit-2.0.0-rc.7-x86_64-pc-windows-msvc.exe +0 -0
- package/witnet/witnet_toolkit-2.0.2-x86_64-pc-windows-msvc.exe +0 -0
- package/witnet/witnet_toolkit-2.0.21-x86_64-pc-windows-msvc.exe +0 -0
- package/witnet/witnet_toolkit-2.0.7-x86_64-pc-windows-msvc.exe +0 -0
- package/witnet/witnet_toolkit-2.0.8-x86_64-pc-windows-msvc.exe +0 -0
- package/dist/witnet/assets/index.d.ts +0 -29
- package/dist/witnet/assets/index.d.ts.map +0 -1
- package/dist/witnet/assets/index.js +0 -6
- package/dist/witnet/assets/modals/index.d.ts +0 -16
- package/dist/witnet/assets/modals/index.d.ts.map +0 -1
- package/dist/witnet/assets/modals/index.js +0 -11
- package/dist/witnet/assets/modals/web3/eth.d.ts +0 -5
- package/dist/witnet/assets/modals/web3/eth.d.ts.map +0 -1
- package/dist/witnet/assets/modals/web3/eth.js +0 -26
- package/dist/witnet/assets/modals/web3/ipfs.d.ts +0 -4
- package/dist/witnet/assets/modals/web3/ipfs.d.ts.map +0 -1
- package/dist/witnet/assets/modals/web3/ipfs.js +0 -18
- package/dist/witnet/assets/modals/web3/wit.d.ts +0 -4
- package/dist/witnet/assets/modals/web3/wit.d.ts.map +0 -1
- package/dist/witnet/assets/modals/web3/wit.js +0 -17
- package/dist/witnet/assets/requests.d.ts +0 -11
- package/dist/witnet/assets/requests.d.ts.map +0 -1
- package/dist/witnet/assets/requests.js +0 -43
- package/src/bin/cli/history.js +0 -31
- package/src/bin/postinstall.js +0 -9
- package/src/bin/toolkit.js +0 -290
- package/witnet/assets/_index.js +0 -8
- package/witnet/assets/_requests.js +0 -25
- package/witnet/assets/_sources.js +0 -36
- package/witnet/assets/_templates.js +0 -36
- package/witnet/assets/index.js +0 -4
- package/witnet/assets/modals/index.js +0 -9
- package/witnet/assets/modals/web3/eth.js +0 -29
- package/witnet/assets/modals/web3/ipfs.js +0 -22
- package/witnet/assets/modals/web3/wit.js +0 -21
- package/witnet/assets/requests.js +0 -49
- /package/witnet/assets/modals/web3/{btc.js → btc.cjs} +0 -0
- /package/witnet/assets/modals/web3/{sol.js → sol.cjs} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { RadonRequest,
|
|
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":"
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
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 (
|
|
24
|
-
buffer =
|
|
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 =
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
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
|
-
|
|
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 =
|
|
78
|
+
const stuff = options?.assets
|
|
84
79
|
? flattenRadonAssets(options.assets, options?.type)
|
|
85
|
-
: loadModuleAssets({ flattened: true, type: options?.type })
|
|
86
|
-
return
|
|
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) => [
|
|
84
|
+
.map((entry) => [
|
|
85
|
+
entry.key,
|
|
86
|
+
entry.artifact,
|
|
87
|
+
]);
|
|
90
88
|
}
|
|
91
89
|
// ====================================================================================================================
|
|
92
90
|
// --- INTERNAL METHODS -----------------------------------------------------------------------------------------------
|
|
93
91
|
function loadModuleAssets(options) {
|
|
94
|
-
|
|
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":
|
|
122
|
-
"20":
|
|
123
|
-
"30":
|
|
124
|
-
"40":
|
|
125
|
-
"50":
|
|
126
|
-
"60":
|
|
127
|
-
"70":
|
|
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 =
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JhZG9uL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7QUFFOUIsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRSxPQUFPLEVBQ04sVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsYUFBYSxHQUNiLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFFTixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFFBQVEsRUFDUixjQUFjLEVBQ2QsV0FBVyxHQUNYLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE1BQU0sa0JBQWtCLEdBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLElBQUksOEJBQThCLENBQUM7QUFFNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFekQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxRQUFhO0lBQzdDLElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUMzQixNQUFNLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7U0FBTSxJQUFJLFFBQVEsWUFBWSxVQUFVLEVBQUUsQ0FBQztRQUMzQyxNQUFN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LE1BQU0sRUFBRSxDQUFDO1FBQ1osSUFBSSxRQUFRLEdBQUcsY0FBYyxDQUFDLE1BQU0sQ0FBQzthQUNuQyxLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ2xCLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDUixJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDWCxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLFFBQVEsUUFBUSxFQUFFLENBQUM7WUFDbEIsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLEtBQUssQ0FBQztZQUNYLEtBQUssTUFBTSxDQUFDO1lBQ1osS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNkLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEMsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUM7WUFFRCxnQkFBZ0I7WUFDaEIsOEVBQThFO1lBRTlFO2dCQUNDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDRixDQUFDO0FBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcclxuaW1wb3J0IGNib3IgZnJvbSBcImNib3JcIjtcclxuaW1wb3J0IGRvdGVudiBmcm9tIFwiZG90ZW52XCI7XHJcbmRvdGVudi5jb25maWcoeyBxdWlldDogdHJ1ZSB9KVxyXG5cclxuY29uc3QgcmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoaW1wb3J0Lm1ldGEudXJsKTtcclxuXHJcbmltcG9ydCB7IGZyb21IZXhTdHJpbmcsIGlzSGV4U3RyaW5nIH0gZnJvbSBcIi4uLy4uL2Jpbi9oZWxwZXJzLmpzXCI7XHJcblxyXG5pbXBvcnQge1xyXG5cdFJhZG9uTW9kYWwsXHJcblx0UmFkb25SZXF1ZXN0LFxyXG5cdFJhZG9uUmV0cmlldmFsLFxyXG5cdFJhZG9uVGVtcGxhdGUsXHJcbn0gZnJvbSBcIi4vaW5kZXguanNcIjtcclxuXHJcbmltcG9ydCB7XHJcblx0dHlwZSBSYWRvbkFueSxcclxuXHRSYWRvbkFycmF5LFxyXG5cdFJhZG9uQm9vbGVhbixcclxuXHRSYWRvbkJ5dGVzLFxyXG5cdFJhZG9uRmxvYXQsXHJcblx0UmFkb25JbnRlZ2VyLFxyXG5cdFJhZG9uTWFwLFxyXG5cdFJhZG9uT3BlcmF0b3JzLFxyXG5cdFJhZG9uU3RyaW5nLFxyXG59IGZyb20gXCIuL3R5cGVzLmpzXCI7XHJcblxyXG5jb25zdCBXSVRORVRfQVNTRVRTX1BBVEggPVxyXG5cdHByb2Nlc3MuZW52LldJVE5FVF9TREtfUkFET05fQVNTRVRTX1BBVEggfHwgXCIuLi8uLi8uLi8uLi8uLi93aXRuZXQvYXNzZXRzXCI7XHJcblxyXG5leHBvcnQgeyBleGVjUmFkb25CeXRlY29kZSB9IGZyb20gXCIuLi8uLi9iaW4vaGVscGVycy5qc1wiO1xyXG5cclxuLyoqXHJcbiAqIERlY29kZXMgYSBSYWRvbiBzY3JpcHQgb3V0IGZyb20gYSBQcm90b2J1Zi1zZXJpYWxpemVkIGJ5dGVjb2RlLlxyXG4gKiBAcGFyYW0gaGV4U3RyaW5nIFJhZG9uIHNjcmlwdCBieXRlY29kZS5cclxuICogQHJldHVybnMgUmFkb24gc2NyaXB0IG9iamVjdCAoaS5lLiBjaGFpbiBvZiBSYWRvbiBvcGVyYXRvcnMgd2l0aCBhIGRldGVybWluaXN0aWMgb3V0cHV0IFJhZG9uIHR5cGUpLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUmFkb25TY3JpcHQoYnl0ZWNvZGU6IGFueSk6IFJhZG9uQW55IHtcclxuXHRsZXQgYnVmZmVyO1xyXG5cdGlmIChpc0hleFN0cmluZyhieXRlY29kZSkpIHtcclxuXHRcdGJ1ZmZlciA9IGZyb21IZXhTdHJpbmcoYnl0ZWNvZGUpO1xyXG5cdH0gZWxzZSBpZiAoYnl0ZWNvZGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XHJcblx0XHRidWZmZXIgPSBCdWZmZXIuZnJvbShieXRlY29kZSk7XHJcblx0fSBlbHNlIGlmIChieXRlY29kZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xyXG5cdFx0YnVmZmVyID0gYnl0ZWNvZGU7XHJcblx0fSBlbHNlIHtcclxuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoYFVuc3VwcG9ydGVkIFJhZG9uU2NyaXB0IGJ5dGVjb2RlIGZvcm1hdDogJHtieXRlY29kZX1gKTtcclxuXHR9XHJcblx0Y29uc3QgYXJyYXkgPSBjYm9yLmRlY29kZShidWZmZXIpO1xyXG5cdHJldHVybiBwYXJzZVNjcmlwdChhcnJheSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuUmFkb25Bc3NldHM8XHJcblx0VCBleHRlbmRzIFJhZG9uUmVxdWVzdCB8IFJhZG9uVGVtcGxhdGUgfCBSYWRvbk1vZGFsIHwgUmFkb25SZXRyaWV2YWwsXHJcbj4oXHJcblx0dHJlZTogYW55LFxyXG5cdHR5cGU/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 @@
|
|
|
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,
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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 {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
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, [
|
|
14
|
-
addPeers(peers: Array<string>): Promise<Record<string,
|
|
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,
|
|
17
|
-
initializePeers(): Promise<Record<string,
|
|
18
|
-
rewind(epoch: Epoch): Promise<Record<string,
|
|
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,
|
|
34
|
+
addPeers(peers: Array<string>): Promise<Record<string, boolean>>;
|
|
35
35
|
authorizeStakes(withdrawer: PublicKeyHashString): Promise<Record<string, [PublicKeyHashString, HexString]>>;
|
|
36
|
-
clearPeers(): Promise<Record<string,
|
|
37
|
-
initializePeers(): Promise<Record<string,
|
|
38
|
-
rewind(epoch: Epoch): Promise<Record<string,
|
|
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":"
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/nodes.ts"],"names":[],"mappings":"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"}
|