@witnet/sdk 1.0.0-beta.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/LICENSE +21 -0
- package/README.md +103 -0
- package/dist/package.json +72 -0
- package/dist/src/bin/helpers.d.ts +91 -0
- package/dist/src/bin/helpers.d.ts.map +1 -0
- package/dist/src/bin/helpers.js +816 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +47 -0
- package/dist/src/lib/crypto/account.d.ts +32 -0
- package/dist/src/lib/crypto/account.d.ts.map +1 -0
- package/dist/src/lib/crypto/account.js +106 -0
- package/dist/src/lib/crypto/coinbase.d.ts +10 -0
- package/dist/src/lib/crypto/coinbase.d.ts.map +1 -0
- package/dist/src/lib/crypto/coinbase.js +28 -0
- package/dist/src/lib/crypto/index.d.ts +8 -0
- package/dist/src/lib/crypto/index.d.ts.map +1 -0
- package/dist/src/lib/crypto/index.js +30 -0
- package/dist/src/lib/crypto/interfaces.d.ts +85 -0
- package/dist/src/lib/crypto/interfaces.d.ts.map +1 -0
- package/dist/src/lib/crypto/interfaces.js +3 -0
- package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts +55 -0
- package/dist/src/lib/crypto/payloads/DataRequestPayload.d.ts.map +1 -0
- package/dist/src/lib/crypto/payloads/DataRequestPayload.js +339 -0
- package/dist/src/lib/crypto/payloads/StakePayload.d.ts +28 -0
- package/dist/src/lib/crypto/payloads/StakePayload.d.ts.map +1 -0
- package/dist/src/lib/crypto/payloads/StakePayload.js +142 -0
- package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts +36 -0
- package/dist/src/lib/crypto/payloads/UnstakePayload.d.ts.map +1 -0
- package/dist/src/lib/crypto/payloads/UnstakePayload.js +154 -0
- package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts +25 -0
- package/dist/src/lib/crypto/payloads/ValueTransferPayload.d.ts.map +1 -0
- package/dist/src/lib/crypto/payloads/ValueTransferPayload.js +128 -0
- package/dist/src/lib/crypto/payloads.d.ts +57 -0
- package/dist/src/lib/crypto/payloads.d.ts.map +1 -0
- package/dist/src/lib/crypto/payloads.js +170 -0
- package/dist/src/lib/crypto/signer.d.ts +33 -0
- package/dist/src/lib/crypto/signer.d.ts.map +1 -0
- package/dist/src/lib/crypto/signer.js +194 -0
- package/dist/src/lib/crypto/transmitters/DataRequests.d.ts +15 -0
- package/dist/src/lib/crypto/transmitters/DataRequests.d.ts.map +1 -0
- package/dist/src/lib/crypto/transmitters/DataRequests.js +23 -0
- package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts +12 -0
- package/dist/src/lib/crypto/transmitters/StakeDeposits.d.ts.map +1 -0
- package/dist/src/lib/crypto/transmitters/StakeDeposits.js +17 -0
- package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts +18 -0
- package/dist/src/lib/crypto/transmitters/StakeWithdrawals.d.ts.map +1 -0
- package/dist/src/lib/crypto/transmitters/StakeWithdrawals.js +53 -0
- package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts +11 -0
- package/dist/src/lib/crypto/transmitters/ValueTransfers.d.ts.map +1 -0
- package/dist/src/lib/crypto/transmitters/ValueTransfers.js +16 -0
- package/dist/src/lib/crypto/transmitters.d.ts +47 -0
- package/dist/src/lib/crypto/transmitters.d.ts.map +1 -0
- package/dist/src/lib/crypto/transmitters.js +416 -0
- package/dist/src/lib/crypto/types.d.ts +161 -0
- package/dist/src/lib/crypto/types.d.ts.map +1 -0
- package/dist/src/lib/crypto/types.js +273 -0
- package/dist/src/lib/crypto/utils.d.ts +21 -0
- package/dist/src/lib/crypto/utils.d.ts.map +1 -0
- package/dist/src/lib/crypto/utils.js +156 -0
- package/dist/src/lib/crypto/wallet.d.ts +120 -0
- package/dist/src/lib/crypto/wallet.d.ts.map +1 -0
- package/dist/src/lib/crypto/wallet.js +258 -0
- package/dist/src/lib/index.d.ts +5 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +44 -0
- package/dist/src/lib/radon/ccdr/eth.d.ts +160 -0
- package/dist/src/lib/radon/ccdr/eth.d.ts.map +1 -0
- package/dist/src/lib/radon/ccdr/eth.js +272 -0
- package/dist/src/lib/radon/ccdr/index.d.ts +14 -0
- package/dist/src/lib/radon/ccdr/index.d.ts.map +1 -0
- package/dist/src/lib/radon/ccdr/index.js +39 -0
- package/dist/src/lib/radon/ccdr/wit.d.ts +23 -0
- package/dist/src/lib/radon/ccdr/wit.d.ts.map +1 -0
- package/dist/src/lib/radon/ccdr/wit.js +35 -0
- package/dist/src/lib/radon/filters.d.ts +14 -0
- package/dist/src/lib/radon/filters.d.ts.map +1 -0
- package/dist/src/lib/radon/filters.js +45 -0
- package/dist/src/lib/radon/index.d.ts +296 -0
- package/dist/src/lib/radon/index.d.ts.map +1 -0
- package/dist/src/lib/radon/index.js +707 -0
- package/dist/src/lib/radon/reducers.d.ts +29 -0
- package/dist/src/lib/radon/reducers.d.ts.map +1 -0
- package/dist/src/lib/radon/reducers.js +66 -0
- package/dist/src/lib/radon/types.d.ts +521 -0
- package/dist/src/lib/radon/types.d.ts.map +1 -0
- package/dist/src/lib/radon/types.js +936 -0
- package/dist/src/lib/radon/utils.d.ts +53 -0
- package/dist/src/lib/radon/utils.d.ts.map +1 -0
- package/dist/src/lib/radon/utils.js +153 -0
- package/dist/src/lib/rpc/index.d.ts +3 -0
- package/dist/src/lib/rpc/index.d.ts.map +1 -0
- package/dist/src/lib/rpc/index.js +19 -0
- package/dist/src/lib/rpc/nodes.d.ts +40 -0
- package/dist/src/lib/rpc/nodes.d.ts.map +1 -0
- package/dist/src/lib/rpc/nodes.js +293 -0
- package/dist/src/lib/rpc/provider.d.ts +88 -0
- package/dist/src/lib/rpc/provider.d.ts.map +1 -0
- package/dist/src/lib/rpc/provider.js +336 -0
- package/dist/src/lib/rpc/reporter.d.ts +18 -0
- package/dist/src/lib/rpc/reporter.d.ts.map +1 -0
- package/dist/src/lib/rpc/reporter.js +30 -0
- package/dist/src/lib/rpc/types.d.ts +409 -0
- package/dist/src/lib/rpc/types.d.ts.map +1 -0
- package/dist/src/lib/rpc/types.js +81 -0
- package/dist/src/lib/types.d.ts +18 -0
- package/dist/src/lib/types.d.ts.map +1 -0
- package/dist/src/lib/types.js +7 -0
- package/dist/src/lib/utils.d.ts +13 -0
- package/dist/src/lib/utils.d.ts.map +1 -0
- package/dist/src/lib/utils.js +97 -0
- package/dist/witnet/assets/index.d.ts +30 -0
- package/dist/witnet/assets/index.d.ts.map +1 -0
- package/dist/witnet/assets/index.js +6 -0
- package/dist/witnet/assets/modals/index.d.ts +18 -0
- package/dist/witnet/assets/modals/index.d.ts.map +1 -0
- package/dist/witnet/assets/modals/index.js +21 -0
- package/dist/witnet/assets/modals/web3/eth.d.ts +5 -0
- package/dist/witnet/assets/modals/web3/eth.d.ts.map +1 -0
- package/dist/witnet/assets/modals/web3/eth.js +26 -0
- package/dist/witnet/assets/modals/web3/wit.d.ts +4 -0
- package/dist/witnet/assets/modals/web3/wit.d.ts.map +1 -0
- package/dist/witnet/assets/modals/web3/wit.js +20 -0
- package/dist/witnet/assets/requests.d.ts +11 -0
- package/dist/witnet/assets/requests.d.ts.map +1 -0
- package/dist/witnet/assets/requests.js +88 -0
- package/dist/witnet/witnet.proto.json +1325 -0
- package/package.json +72 -0
- package/src/bin/cli/history.js +31 -0
- package/src/bin/cli/inspect.js +359 -0
- package/src/bin/cli/network.js +592 -0
- package/src/bin/cli/nodes.js +364 -0
- package/src/bin/cli/radon.js +814 -0
- package/src/bin/cli/wallet.js +1000 -0
- package/src/bin/helpers.js +829 -0
- package/src/bin/postinstall.js +9 -0
- package/src/bin/toolkit.js +294 -0
- package/witnet/assets/_index.js +8 -0
- package/witnet/assets/_requests.js +25 -0
- package/witnet/assets/_sources.js +36 -0
- package/witnet/assets/_templates.js +36 -0
- package/witnet/assets/index.js +4 -0
- package/witnet/assets/modals/index.js +25 -0
- package/witnet/assets/modals/web3/btc.js +0 -0
- package/witnet/assets/modals/web3/eth.js +29 -0
- package/witnet/assets/modals/web3/sol.js +0 -0
- package/witnet/assets/modals/web3/wit.js +23 -0
- package/witnet/assets/requests.js +94 -0
- package/witnet/witnet.proto.json +1325 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { RadonRequest, RadonModal, RadonTemplate, RadonRetrieval } from "./index";
|
|
2
|
+
import { RadonAny } from "./types";
|
|
3
|
+
export { execRadonBytecode } from "../../bin/helpers";
|
|
4
|
+
/**
|
|
5
|
+
* Decodes a Radon script out from a Protobuf-serialized bytecode.
|
|
6
|
+
* @param hexString Radon script bytecode.
|
|
7
|
+
* @returns Radon script object (i.e. chain of Radon operators with a deterministic output Radon type).
|
|
8
|
+
*/
|
|
9
|
+
export declare function parseRadonScript(bytecode: any): RadonAny;
|
|
10
|
+
export declare function flattenRadonAssets<T extends RadonRequest | RadonTemplate | RadonModal | RadonRetrieval>(tree: any, type?: {
|
|
11
|
+
new (specs: any): T;
|
|
12
|
+
}, headers?: string[]): any;
|
|
13
|
+
export declare function requireRadonAsset<T extends RadonRequest | RadonTemplate | RadonModal | RadonRetrieval>(specs: {
|
|
14
|
+
artifact: string;
|
|
15
|
+
assets?: any;
|
|
16
|
+
type?: {
|
|
17
|
+
new (specs: any): T;
|
|
18
|
+
};
|
|
19
|
+
}): T;
|
|
20
|
+
/**
|
|
21
|
+
* Search Witnet Radon assets declared or imported within current repository,
|
|
22
|
+
* whose names complies with the provided `pattern` and `filterFn`.
|
|
23
|
+
* If no `filterFn` is specified, search will include assets whose names
|
|
24
|
+
* are suffixed by given `pattern` (case insensitive).
|
|
25
|
+
* @param options Search options
|
|
26
|
+
* @param filterFn Filtering function.
|
|
27
|
+
* @returns An array of Radon assets of the specified kind complying with the search pattern.
|
|
28
|
+
*/
|
|
29
|
+
export declare function searchRadonAssets<T extends RadonRequest | RadonTemplate | RadonModal | RadonRetrieval>(options: {
|
|
30
|
+
/**
|
|
31
|
+
* Object containing structured heriarchy of Radon assets. If not provided, Radon assets declared within project's environment.
|
|
32
|
+
*/
|
|
33
|
+
assets?: any;
|
|
34
|
+
/**
|
|
35
|
+
* Limits number of returned Radon assets.
|
|
36
|
+
*/
|
|
37
|
+
limit?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Offsets returned array of Radon assets.
|
|
40
|
+
*/
|
|
41
|
+
offset?: number;
|
|
42
|
+
/**
|
|
43
|
+
* Name pattern searched for.
|
|
44
|
+
*/
|
|
45
|
+
pattern: string;
|
|
46
|
+
/**
|
|
47
|
+
* Specific type of Radon asset to search for: `RadonRequest`, `RadonRequest`, `RadonRetrieval` or `RadonCCDR`.
|
|
48
|
+
*/
|
|
49
|
+
type?: {
|
|
50
|
+
new (specs: any): T;
|
|
51
|
+
};
|
|
52
|
+
}, filterFn?: (key: string, pattern: string) => boolean): Array<[key: string, artifact: T]>;
|
|
53
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +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,GAAG,CA0BL;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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
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");
|
|
13
|
+
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; } });
|
|
16
|
+
/**
|
|
17
|
+
* Decodes a Radon script out from a Protobuf-serialized bytecode.
|
|
18
|
+
* @param hexString Radon script bytecode.
|
|
19
|
+
* @returns Radon script object (i.e. chain of Radon operators with a deterministic output Radon type).
|
|
20
|
+
*/
|
|
21
|
+
function parseRadonScript(bytecode) {
|
|
22
|
+
let buffer;
|
|
23
|
+
if ((0, helpers_1.isHexString)(bytecode)) {
|
|
24
|
+
buffer = (0, helpers_1.fromHexString)(bytecode);
|
|
25
|
+
}
|
|
26
|
+
else if (bytecode instanceof Uint8Array) {
|
|
27
|
+
buffer = Buffer.from(bytecode);
|
|
28
|
+
}
|
|
29
|
+
else if (bytecode instanceof Buffer) {
|
|
30
|
+
buffer = bytecode;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
throw new TypeError(`Unsupported RadonScript bytecode format: ${bytecode}`);
|
|
34
|
+
}
|
|
35
|
+
const array = (0, cbor_1.decode)(buffer);
|
|
36
|
+
return parseScript(array);
|
|
37
|
+
}
|
|
38
|
+
function flattenRadonAssets(tree, type, headers) {
|
|
39
|
+
if (!headers)
|
|
40
|
+
headers = [];
|
|
41
|
+
const entries = [];
|
|
42
|
+
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))) {
|
|
48
|
+
entries.push({
|
|
49
|
+
key,
|
|
50
|
+
artifact: tree[key],
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
else if (typeof tree[key] === "object") {
|
|
54
|
+
entries.push(...flattenRadonAssets(tree[key], type, [...headers, key]));
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return entries;
|
|
58
|
+
}
|
|
59
|
+
;
|
|
60
|
+
function requireRadonAsset(specs) {
|
|
61
|
+
const stuff = (specs?.assets
|
|
62
|
+
? flattenRadonAssets(specs.assets, specs?.type)
|
|
63
|
+
: loadModuleAssets({ flattened: true, type: specs?.type }));
|
|
64
|
+
const found = stuff.find((entry) => entry.key === specs.artifact);
|
|
65
|
+
if (found) {
|
|
66
|
+
return found[0].artifact;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
throw Error(`Radon asset "${specs.artifact}" not available.`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Search Witnet Radon assets declared or imported within current repository,
|
|
74
|
+
* whose names complies with the provided `pattern` and `filterFn`.
|
|
75
|
+
* If no `filterFn` is specified, search will include assets whose names
|
|
76
|
+
* are suffixed by given `pattern` (case insensitive).
|
|
77
|
+
* @param options Search options
|
|
78
|
+
* @param filterFn Filtering function.
|
|
79
|
+
* @returns An array of Radon assets of the specified kind complying with the search pattern.
|
|
80
|
+
*/
|
|
81
|
+
function searchRadonAssets(options, filterFn) {
|
|
82
|
+
const defaultFilter = (key, pattern) => key.toLowerCase().endsWith(pattern.toLowerCase());
|
|
83
|
+
const stuff = (options?.assets
|
|
84
|
+
? flattenRadonAssets(options.assets, options?.type)
|
|
85
|
+
: loadModuleAssets({ flattened: true, type: options?.type }));
|
|
86
|
+
return (stuff
|
|
87
|
+
.filter((entry) => (filterFn || defaultFilter)(entry.key, options.pattern || ""))
|
|
88
|
+
.slice(options?.offset || 0, options?.limit)
|
|
89
|
+
.map((entry) => [entry.key, entry.artifact]));
|
|
90
|
+
}
|
|
91
|
+
// ====================================================================================================================
|
|
92
|
+
// --- INTERNAL METHODS -----------------------------------------------------------------------------------------------
|
|
93
|
+
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}`);
|
|
100
|
+
return options?.flattened ? flattenRadonAssets(stuff, options?.type) : stuff;
|
|
101
|
+
}
|
|
102
|
+
function parseScript(array, script) {
|
|
103
|
+
if (Array.isArray(array)) {
|
|
104
|
+
array.forEach(item => {
|
|
105
|
+
if (Array.isArray(item)) {
|
|
106
|
+
script = parseScriptOperator(script, item[0], ...item.slice(1));
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
script = parseScriptOperator(script, item);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
return script;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
return parseScriptOperator(script, array);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function parseScriptOperator(script, opcode, args) {
|
|
119
|
+
if (!script) {
|
|
120
|
+
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));
|
|
129
|
+
if (found) {
|
|
130
|
+
script = new found[1];
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
throw TypeError(`unknown Radon operator: ${opcode}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (opcode) {
|
|
137
|
+
let operator = types_1.RadonOperators[opcode].split(/(?=[A-Z])/).slice(1).join("");
|
|
138
|
+
operator = operator.charAt(0).toLowerCase() + operator.slice(1);
|
|
139
|
+
switch (operator) {
|
|
140
|
+
case "filter":
|
|
141
|
+
case "map":
|
|
142
|
+
case "sort":
|
|
143
|
+
case "alter":
|
|
144
|
+
const innerScript = parseScript(args);
|
|
145
|
+
return script[operator](innerScript, ...args.slice(1));
|
|
146
|
+
// case "alter":
|
|
147
|
+
// return script[operator](args[0], parseScript(args[1], ...args.slice(2)));
|
|
148
|
+
default:
|
|
149
|
+
return script[operator](args);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JhZG9uL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTRCQSw0Q0FhQztBQUdELGdEQThCQztBQUVELDhDQWdCQztBQVdELDhDQXFDQztBQTVJRCxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7QUFDMUIsK0JBQTJDO0FBRTNDLCtDQUE4RDtBQUU5RCxtQ0FBaUY7QUFFakYsbUNBVWdCO0FBRWhCLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsSUFBSSw4QkFBOEIsQ0FBQTtBQUVyRyw2Q0FBcUQ7QUFBNUMsNEdBQUEsaUJBQWlCLE9BQUE7QUFFMUI7Ozs7R0FJRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLFFBQWE7SUFDNUMsSUFBSSxNQUFNLENBQUE7SUFDVixJQUFJLElBQUEscUJBQVcsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sR0FBRyxJQUFBLHVCQUFhLEVBQUMsUUFBUSxDQUFDLENBQUE7SUFDbEMsQ0FBQztTQUFNLElBQUksUUFBUSxZQUFZLFVBQVUsRUFBRSxDQUFDO1FBQzFDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7U0FBTSxJQUFJLFFBQVEsWUFBWSxNQUFNLEVBQUUsQ0FBQztRQUN0QyxNQUFNLEdBQUcsUUFBUSxDQUFBO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLFNBQVMsQ0FBQyw0Q0FBNEMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBQSxhQUFVLEVBQUMsTUFBTSxDQUFDLENBQUE7SUFDaEMsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDM0IsQ0FBQztBQUdELFNBQWdCLGtCQUFrQixDQUNo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QVEsUUFBUSxFQUFFLENBQUM7WUFDakIsS0FBSyxRQUFRLENBQUM7WUFBQyxLQUFLLEtBQUssQ0FBQztZQUFDLEtBQUssTUFBTSxDQUFDO1lBQUMsS0FBSyxPQUFPO2dCQUNsRCxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ3JDLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV6RCxnQkFBZ0I7WUFDaEIsOEVBQThFO1lBRTlFO2dCQUNFLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJ2RvdGVudicpLmNvbmZpZygpXHJcbmltcG9ydCB7IGRlY29kZSBhcyBjYm9yRGVjb2RlIH0gZnJvbSAnY2JvcidcclxuXHJcbmltcG9ydCB7IGZyb21IZXhTdHJpbmcsIGlzSGV4U3RyaW5nIH0gZnJvbSBcIi4uLy4uL2Jpbi9oZWxwZXJzXCJcclxuXHJcbmltcG9ydCB7IFJhZG9uUmVxdWVzdCwgUmFkb25Nb2RhbCwgUmFkb25UZW1wbGF0ZSwgUmFkb25SZXRyaWV2YWwgfSBmcm9tIFwiLi9pbmRleFwiXHJcblxyXG5pbXBvcnQge1xyXG4gIFJhZG9uQW55LFxyXG4gIFJhZG9uQXJyYXksXHJcbiAgUmFkb25Cb29sZWFuLFxyXG4gIFJhZG9uQnl0ZXMsXHJcbiAgUmFkb25GbG9hdCxcclxuICBSYWRvbkludGVnZXIsXHJcbiAgUmFkb25NYXAsXHJcbiAgUmFkb25TdHJpbmcsXHJcbiAgUmFkb25PcGVyYXRvcnMsXHJcbn0gZnJvbSBcIi4vdHlwZXNcIlxyXG5cclxuY29uc3QgV0lUTkVUX0FTU0VUU19QQVRIID0gcHJvY2Vzcy5lbnYuV0lUTkVUX1NES19SQURPTl9BU1NFVFNfUEFUSCB8fCBcIi4uLy4uLy4uLy4uLy4uL3dpdG5ldC9hc3NldHNcIlxyXG5cclxuZXhwb3J0IHsgZXhlY1JhZG9uQnl0ZWNvZGUgfSBmcm9tIFwiLi4vLi4vYmluL2hlbHBlcnNcIlxyXG5cclxuLyoqXHJcbiAqIERlY29kZXMgYSBSYWRvbiBzY3JpcHQgb3V0IGZyb20gYSBQcm90b2J1Zi1zZXJpYWxpemVkIGJ5dGVjb2RlLlxyXG4gKiBAcGFyYW0gaGV4U3RyaW5nIFJhZG9uIHNjcmlwdCBieXRlY29kZS5cclxuICogQHJldHVybnMgUmFkb24gc2NyaXB0IG9iamVjdCAoaS5lLiBjaGFpbiBvZiBSYWRvbiBvcGVyYXRvcnMgd2l0aCBhIGRldGVybWluaXN0aWMgb3V0cHV0IFJhZG9uIHR5cGUpLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUmFkb25TY3JpcHQoYnl0ZWNvZGU6IGFueSk6IFJhZG9uQW55IHtcclxuICBsZXQgYnVmZmVyXHJcbiAgaWYgKGlzSGV4U3RyaW5nKGJ5dGVjb2RlKSkge1xyXG4gICAgYnVmZmVyID0gZnJvbUhleFN0cmluZyhieXRlY29kZSlcclxuICB9IGVsc2UgaWYgKGJ5dGVjb2RlIGluc3RhbmNlb2YgVWludDhBcnJheSkge1xyXG4gICAgYnVmZmVyID0gQnVmZmVyLmZyb20oYnl0ZWNvZGUpXHJcbiAgfSBlbHNlIGlmIChieXRlY29kZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xyXG4gICAgYnVmZmVyID0gYnl0ZWNvZGVcclxuICB9IGVsc2Uge1xyXG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVW5zdXBwb3J0ZWQgUmFkb25TY3JpcHQgYnl0ZWNvZGUgZm9ybWF0OiAke2J5dGVjb2RlfWApXHJcbiAgfVxyXG4gIGNvbnN0IGFycmF5ID0gY2JvckRlY29kZShidWZmZXIpXHJcbiAgcmV0dXJuIHBhcnNlU2NyaXB0KGFycmF5KVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZsYXR0ZW5SYWRvbkFzc2V0czxUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbD4oXHJcbiAgdHJlZTogYW55LFxyXG4gIHR5cGU/OiB7IG5ldyhzcGVjczogYW55KTogVDsgfSxcclxuICBoZWFkZXJzPzogc3RyaW5nW11cclxuKTogYW55IHtcclxuICBpZiAoIWhlYWRlcnMpIGhlYWRlcnMgPSBbXVxyXG4gIGNvbnN0IGVudHJpZXMgPSBbXVxyXG4gIGZvciAoY29uc3Qga2V5IGluIHRyZWUpIHtcclxuICAgIGlmIChcclxuICAgICAgKHR5cGUgJiYgdHJlZVtrZXldIGluc3RhbmNlb2YgdHlwZSlcclxuICAgICAgfHwgKCF0eXBlICYmIChcclxuICAgICAgICAgIHRyZWVba2V5XSBpbnN0YW5jZW9mIFJhZG9uUmVxdWVzdFxyXG4gICAgICAgICAgfHwgdHJlZVtrZXldIGluc3RhbmNlb2YgUmFkb25UZW1wbGF0ZVxyXG4gICAgICAgICAgfHwgdHJlZVtrZXldIGluc3RhbmNlb2YgUmFkb25Nb2RhbFxyXG4gICAgICAgICAgfHwgdHJlZVtrZXldIGluc3RhbmNlb2YgUmFkb25SZXRyaWV2YWxcclxuICAgICAgKSlcclxuICAgICkge1xyXG4gICAgICBlbnRyaWVzLnB1c2goe1xyXG4gICAgICAgIGtleSxcclxuICAgICAgICBhcnRpZmFjdDogdHJlZVtrZXldLFxyXG4gICAgICB9KVxyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdHJlZVtrZXldID09PSBcIm9iamVjdFwiKSB7XHJcbiAgICAgIGVudHJpZXMucHVzaCguLi5mbGF0dGVuUmFkb25Bc3NldHMoXHJcbiAgICAgICAgdHJlZVtrZXldLFxyXG4gICAgICAgIHR5cGUsXHJcbiAgICAgICAgWy4uLmhlYWRlcnMsIGtleV1cclxuICAgICAgKSlcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIGVudHJpZXNcclxufTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlUmFkb25Bc3NldDxUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbD4oc3BlY3M6IHtcclxuICBhcnRpZmFjdDogc3RyaW5nLFxyXG4gIGFzc2V0cz86IGFueSxcclxuICB0eXBlPzogeyBuZXcgKHNwZWNzOiBhbnkpOiBUOyB9LFxyXG59KTogVCB7XHJcbiAgY29uc3Qgc3R1ZmYgPSAoXHJcbiAgICBzcGVjcz8uYXNzZXRzIFxyXG4gICAgICA/IGZsYXR0ZW5SYWRvbkFzc2V0cyhzcGVjcy5hc3NldHMsIHNwZWNzPy50eXBlKSBcclxuICAgICAgOiBsb2FkTW9kdWxlQXNzZXRzKHsgZmxhdHRlbmVkOiB0cnVlLCB0eXBlOiBzcGVjcz8udHlwZSB9KVxyXG4gICk7XHJcbiAgY29uc3QgZm91bmQgPSBzdHVmZi5maW5kKChlbnRyeTogeyBrZXk6IHN0cmluZywgYXJ0aWZhY3Q6IGFueSB9KSA9PiBlbnRyeS5rZXkgPT09IHNwZWNzLmFydGlmYWN0KVxyXG4gIGlmIChmb3VuZCkge1xyXG4gICAgcmV0dXJuIGZvdW5kWzBdLmFydGlmYWN0XHJcbiAgfSBlbHNlIHtcclxuICAgIHRocm93IEVycm9yKGBSYWRvbiBhc3NldCBcIiR7c3BlY3MuYXJ0aWZhY3R9XCIgbm90IGF2YWlsYWJsZS5gKVxyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFNlYXJjaCBXaXRuZXQgUmFkb24gYXNzZXRzIGRlY2xhcmVkIG9yIGltcG9ydGVkIHdpdGhpbiBjdXJyZW50IHJlcG9zaXRvcnksIFxyXG4gKiB3aG9zZSBuYW1lcyBjb21wbGllcyB3aXRoIHRoZSBwcm92aWRlZCBgcGF0dGVybmAgYW5kIGBmaWx0ZXJGbmAuIFxyXG4gKiBJZiBubyBgZmlsdGVyRm5gIGlzIHNwZWNpZmllZCwgc2VhcmNoIHdpbGwgaW5jbHVkZSBhc3NldHMgd2hvc2UgbmFtZXMgXHJcbiAqIGFyZSBzdWZmaXhlZCBieSBnaXZlbiBgcGF0dGVybmAgKGNhc2UgaW5zZW5zaXRpdmUpLlxyXG4gKiBAcGFyYW0gb3B0aW9ucyBTZWFyY2ggb3B0aW9uc1xyXG4gKiBAcGFyYW0gZmlsdGVyRm4gRmlsdGVyaW5nIGZ1bmN0aW9uLlxyXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiBSYWRvbiBhc3NldHMgb2YgdGhlIHNwZWNpZmllZCBraW5kIGNvbXBseWluZyB3aXRoIHRoZSBzZWFyY2ggcGF0dGVybi4gXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoUmFkb25Bc3NldHM8VCBleHRlbmRzIFJhZG9uUmVxdWVzdCB8IFJhZG9uVGVtcGxhdGUgfCBSYWRvbk1vZGFsIHwgUmFkb25SZXRyaWV2YWw+KFxyXG4gIG9wdGlvbnM6IHtcclxuICAgIC8qKlxyXG4gICAgICogT2JqZWN0IGNvbnRhaW5pbmcgc3RydWN0dXJlZCBoZXJpYXJjaHkgb2YgUmFkb24gYXNzZXRzLiBJZiBub3QgcHJvdmlkZWQsIFJhZG9uIGFzc2V0cyBkZWNsYXJlZCB3aXRoaW4gcHJvamVjdCdzIGVudmlyb25tZW50LlxyXG4gICAgICovXHJcbiAgICBhc3NldHM/OiBhbnksXHJcbiAgICAvKipcclxuICAgICAqIExpbWl0cyBudW1iZXIgb2YgcmV0dXJuZWQgUmFkb24gYXNzZXRzLlxyXG4gICAgICovXHJcbiAgICBsaW1pdD86IG51bWJlcixcclxuICAgIC8qKlxyXG4gICAgICogT2Zmc2V0cyByZXR1cm5lZCBhcnJheSBvZiBSYWRvbiBhc3NldHMuXHJcbiAgICAgKi9cclxuICAgIG9mZnNldD86IG51bWJlcixcclxuICAgIC8qKlxyXG4gICAgICogTmFtZSBwYXR0ZXJuIHNlYXJjaGVkIGZvci5cclxuICAgICAqL1xyXG4gICAgcGF0dGVybjogc3RyaW5nLFxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpYyB0eXBlIG9mIFJhZG9uIGFzc2V0IHRvIHNlYXJjaCBmb3I6IGBSYWRvblJlcXVlc3RgLCBgUmFkb25SZXF1ZXN0YCwgYFJhZG9uUmV0cmlldmFsYCBvciBgUmFkb25DQ0RSYC5cclxuICAgICAqL1xyXG4gICAgdHlwZT86IHsgbmV3IChzcGVjczogYW55KTogVDsgfSxcclxuICB9LFxyXG4gIGZpbHRlckZuPzogKGtleTogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpID0+IGJvb2xlYW4sXHJcbik6IEFycmF5PFtrZXk6IHN0cmluZywgYXJ0aWZhY3Q6IFRdPiB7XHJcbiAgY29uc3QgZGVmYXVsdEZpbHRlciA9IChrZXk6IHN0cmluZywgcGF0dGVybjogc3RyaW5nKSA9PiBrZXkudG9Mb3dlckNhc2UoKS5lbmRzV2l0aChwYXR0ZXJuLnRvTG93ZXJDYXNlKCkpXHJcbiAgY29uc3Qgc3R1ZmYgPSAoXHJcbiAgICBvcHRpb25zPy5hc3NldHNcclxuICAgICAgPyBmbGF0dGVuUmFkb25Bc3NldHMob3B0aW9ucy5hc3NldHMsIG9wdGlvbnM/LnR5cGUpXHJcbiAgICAgIDogbG9hZE1vZHVsZUFzc2V0cyh7IGZsYXR0ZW5lZDogdHJ1ZSwgdHlwZTogb3B0aW9ucz8udHlwZSB9KVxyXG4gICk7XHJcbiAgcmV0dXJuIChcclxuICAgIHN0dWZmXHJcbiAgICAgIC5maWx0ZXIoKGVudHJ5OiB7IGtleTogc3RyaW5nLCBhcnRpZmFjdDogYW55IH0pID0+IChmaWx0ZXJGbiB8fCBkZWZhdWx0RmlsdGVyKShlbnRyeS5rZXksIG9wdGlvbnMucGF0dGVybiB8fCBcIlwiKSlcclxuICAgICAgLnNsaWNlKG9wdGlvbnM/Lm9mZnNldCB8fCAwLCBvcHRpb25zPy5saW1pdClcclxuICAgICAgLm1hcCgoZW50cnk6IHsga2V5OiBzdHJpbmcsIGFydGlmYWN0OiBhbnkgfCBUIH0pID0+IFtlbnRyeS5rZXksIGVudHJ5LmFydGlmYWN0XSlcclxuICApO1xyXG59XHJcblxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gLS0tIElOVEVSTkFMIE1FVEhPRFMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmZ1bmN0aW9uIGxvYWRNb2R1bGVBc3NldHM8VCBleHRlbmRzIFJhZG9uUmVxdWVzdCB8IFJhZG9uVGVtcGxhdGUgfCBSYWRvbk1vZGFsIHwgUmFkb25SZXRyaWV2YWw+KFxyXG4gIG9wdGlvbnM6IHtcclxuICAgIC8vIGxlZ2FjeT86IGJvb2xlYW4sXHJcbiAgICBmbGF0dGVuZWQ/OiBib29sZWFuLFxyXG4gICAgdHlwZT86IHsgbmV3KHNwZWNzOiBhbnkpOiBUOyB9LFxyXG4gIH0sXHJcbik6IGFueSB7XHJcbiAgLy8gY29uc3Qgc3R1ZmYgPSBvcHRpb25zPy5sZWdhY3kgPyByZXF1aXJlKGAke1dJVE5FVF9BU1NFVFNfUEFUSH1gKS5sZWdhY3kgOiB7XHJcbiAgLy8gICByZXF1ZXN0czogcmVxdWlyZShgJHtXSVRORVRfQVNTRVRTX1BBVEh9L3JlcXVlc3RzYCksXHJcbiAgLy8gICB0ZW1wbGF0ZXM6IHJlcXVpcmUoYCR7V0lUTkVUX0FTU0VUU19QQVRIfS90ZW1wbGF0ZXNgKSxcclxuICAvLyAgIHJldHJpZXZhbHM6IHJlcXVpcmUoYCR7V0lUTkVUX0FTU0VUU19QQVRIfS9yZXRyaWV2YWxzYCksXHJcbiAgLy8gfTtcclxuICBjb25zdCBzdHVmZiA9IHJlcXVpcmUoYCR7V0lUTkVUX0FTU0VUU19QQVRIfWApXHJcbiAgcmV0dXJuIG9wdGlvbnM/LmZsYXR0ZW5lZCA/IGZsYXR0ZW5SYWRvbkFzc2V0cyhzdHVmZiwgb3B0aW9ucz8udHlwZSkgOiBzdHVmZlxyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZVNjcmlwdChhcnJheTogYW55LCBzY3JpcHQ/OiBhbnkpOiBhbnkge1xyXG4gIGlmIChBcnJheS5pc0FycmF5KGFycmF5KSkge1xyXG4gICAgYXJyYXkuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpIHtcclxuICAgICAgICBzY3JpcHQgPSBwYXJzZVNjcmlwdE9wZXJhdG9yKHNjcmlwdCwgaXRlbVswXSwgLi4uaXRlbS5zbGljZSgxKSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBzY3JpcHQgPSBwYXJzZVNjcmlwdE9wZXJhdG9yKHNjcmlwdCwgaXRlbSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHJldHVybiBzY3JpcHRcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIHBhcnNlU2NyaXB0T3BlcmF0b3Ioc2NyaXB0LCBhcnJheSlcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBhcnNlU2NyaXB0T3BlcmF0b3Ioc2NyaXB0OiBhbnksIG9wY29kZTogYW55LCBhcmdzPzogYW55KTogYW55IHtcclxuICBpZiAoIXNjcmlwdCkge1xyXG4gICAgY29uc3QgZm91bmQgPSBPYmplY3QuZW50cmllcyh7XHJcbiAgICAgIFwiMTBcIjogUmFkb25BcnJheSxcclxuICAgICAgXCIyMFwiOiBSYWRvbkJvb2xlYW4sXHJcbiAgICAgIFwiMzBcIjogUmFkb25CeXRlcyxcclxuICAgICAgXCI0MFwiOiBSYWRvbkludGVnZXIsXHJcbiAgICAgIFwiNTBcIjogUmFkb25GbG9hdCxcclxuICAgICAgXCI2MFwiOiBSYWRvbk1hcCxcclxuICAgICAgXCI3MFwiOiBSYWRvblN0cmluZyxcclxuICAgIH0pLmZpbmQoZW50cnkgPT4gZW50cnlbMF0gPT09IChwYXJzZUludChvcGNvZGUpICYgMHhmMCkudG9TdHJpbmcoMTYpKVxyXG4gICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgIHNjcmlwdCA9IG5ldyBmb3VuZFsxXVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgVHlwZUVycm9yKGB1bmtub3duIFJhZG9uIG9wZXJhdG9yOiAke29wY29kZX1gKVxyXG4gICAgfVxyXG4gIH1cclxuICBpZiAob3Bjb2RlKSB7XHJcbiAgICBsZXQgb3BlcmF0b3IgPSBSYWRvbk9wZXJhdG9yc1tvcGNvZGVdLnNwbGl0KC8oPz1bQS1aXSkvKS5zbGljZSgxKS5qb2luKFwiXCIpXHJcbiAgICBvcGVyYXRvciA9IG9wZXJhdG9yLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsgb3BlcmF0b3Iuc2xpY2UoMSlcclxuICAgIHN3aXRjaCAob3BlcmF0b3IpIHtcclxuICAgICAgY2FzZSBcImZpbHRlclwiOiBjYXNlIFwibWFwXCI6IGNhc2UgXCJzb3J0XCI6IGNhc2UgXCJhbHRlclwiOlxyXG4gICAgICAgIGNvbnN0IGlubmVyU2NyaXB0ID0gcGFyc2VTY3JpcHQoYXJncylcclxuICAgICAgICByZXR1cm4gc2NyaXB0W29wZXJhdG9yXShpbm5lclNjcmlwdCwgLi4uYXJncy5zbGljZSgxKSk7XHJcblxyXG4gICAgICAvLyBjYXNlIFwiYWx0ZXJcIjpcclxuICAgICAgLy8gICByZXR1cm4gc2NyaXB0W29wZXJhdG9yXShhcmdzWzBdLCBwYXJzZVNjcmlwdChhcmdzWzFdLCAuLi5hcmdzLnNsaWNlKDIpKSk7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBzY3JpcHRbb3BlcmF0b3JdKGFyZ3MpXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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=
|
|
@@ -0,0 +1,40 @@
|
|
|
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";
|
|
5
|
+
export interface IJsonRpcNodeFarm extends IJsonRpcProvider {
|
|
6
|
+
addresses(): Promise<Record<string, PublicKeyHashString>>;
|
|
7
|
+
balances(): Promise<Record<string, [PublicKeyHashString, Balance2]>>;
|
|
8
|
+
masterKeys(): Promise<Record<string, [PublicKeyHashString, string]>>;
|
|
9
|
+
publicKeys(): Promise<Record<string, [PublicKeyHashString, PublicKey]>>;
|
|
10
|
+
syncStatus(): Promise<Record<string, SyncStatus>>;
|
|
11
|
+
peers(validator?: PublicKeyHashString): Promise<Array<PeerAddr>>;
|
|
12
|
+
stats(): Promise<Record<string, NodeStats>>;
|
|
13
|
+
withdrawers(): Promise<Record<PublicKeyHashString, [BigInt, Nonce, number]>>;
|
|
14
|
+
addPeers(peers: Array<string>): Promise<Record<string, Boolean>>;
|
|
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>>;
|
|
19
|
+
}
|
|
20
|
+
export declare class JsonRpcNodeFarm extends JsonRpcProvider implements IJsonRpcNodeFarm {
|
|
21
|
+
constructor(url?: string);
|
|
22
|
+
protected batchApiPkhMethod<T>(method: string, params?: any): Promise<Record<string, [PublicKeyHashString, T]>>;
|
|
23
|
+
protected batchApiPkhMethodNoPkh<T>(method: string, ...params: Array<any>): Promise<Record<string, [PublicKeyHashString, T]>>;
|
|
24
|
+
protected batchApiMethod<T>(method: string, params?: Array<any> | any): Promise<Record<string, T>>;
|
|
25
|
+
protected callApiMethod<T>(url: string, method: string, params?: Array<any> | any): Promise<Error | any>;
|
|
26
|
+
addresses(): Promise<Record<string, PublicKeyHashString>>;
|
|
27
|
+
balances(): Promise<Record<string, [PublicKeyHashString, Balance2]>>;
|
|
28
|
+
masterKeys(): Promise<Record<string, [PublicKeyHashString, string]>>;
|
|
29
|
+
publicKeys(): Promise<Record<string, [PublicKeyHashString, PublicKey]>>;
|
|
30
|
+
peers(): Promise<Array<PeerAddr>>;
|
|
31
|
+
stats(): Promise<Record<string, NodeStats>>;
|
|
32
|
+
syncStatus(): Promise<any>;
|
|
33
|
+
withdrawers(limit?: number, offset?: number): Promise<Record<PublicKeyHashString, [bigint, Nonce, number]>>;
|
|
34
|
+
addPeers(peers: Array<string>): Promise<Record<string, Boolean>>;
|
|
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>>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=nodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/lib/rpc/nodes.ts"],"names":[],"mappings":"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"}
|