@witnet/sdk 1.1.0 → 1.1.2
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/dist/package.json +7 -7
- package/dist/src/bin/helpers.js +2 -2
- package/dist/src/lib/crypto/wallet.js +2 -2
- package/dist/src/lib/radon/index.d.ts +1 -1
- package/dist/src/lib/radon/index.d.ts.map +1 -1
- package/dist/src/lib/radon/index.js +3 -3
- package/dist/src/lib/radon/utils.js +3 -3
- package/package.json +7 -7
- package/src/bin/cli/radon.js +75 -38
- package/src/bin/cli/wallet.js +4 -5
- package/src/bin/helpers.js +1 -1
- package/src/bin/toolkit.js +1 -1
|
@@ -62,8 +62,8 @@ function requireRadonAsset(specs) {
|
|
|
62
62
|
? flattenRadonAssets(specs.assets, specs?.type)
|
|
63
63
|
: loadModuleAssets({ flattened: true, type: specs?.type }));
|
|
64
64
|
const found = stuff.find((entry) => entry.key === specs.artifact);
|
|
65
|
-
if (found) {
|
|
66
|
-
return found
|
|
65
|
+
if (found?.artifact) {
|
|
66
|
+
return found.artifact;
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
69
69
|
throw Error(`Radon asset "${specs.artifact}" not available.`);
|
|
@@ -150,4 +150,4 @@ function parseScriptOperator(script, opcode, args) {
|
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3JhZG9uL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQTRCQSw0Q0FhQztBQUdELGdEQThCQztBQUVELDhDQWdCQztBQVdELDhDQXFDQztBQTVJRCxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7QUFDMUIsK0JBQTJDO0FBRTNDLCtDQUE4RDtBQUU5RCxtQ0FBaUY7QUFFakYsbUNBVWdCO0FBRWhCLE1BQU0sa0JBQWtCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsSUFBSSw4QkFBOEIsQ0FBQTtBQUVyRyw2Q0FBcUQ7QUFBNUMsNEdBQUEsaUJBQWlCLE9BQUE7QUFFMUI7Ozs7R0FJRztBQUNILFNBQWdCLGdCQUFnQixDQUFDLFFBQWE7SUFDNUMsSUFBSSxNQUFNLENBQUE7SUFDVixJQUFJLElBQUEscUJBQVcsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sR0FBRyxJQUFBLHVCQUFhLEVBQUMsUUFBUSxDQUFDLENBQUE7SUFDbEMsQ0FBQztTQUFNLElBQUksUUFBUSxZQUFZLFVBQVUsRUFBRSxDQUFDO1FBQzFDLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2hDLENBQUM7U0FBTSxJQUFJLFFBQVEsWUFBWSxNQUFNLEVBQUUsQ0FBQztRQUN0QyxNQUFNLEdBQUcsUUFBUSxDQUFBO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLFNBQVMsQ0FBQyw0Q0FBNEMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBQSxhQUFVLEVBQUMsTUFBTSxDQUFDLENBQUE7SUFDaEMsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDM0IsQ0FBQztBQUdELFNBQWdCLGtCQUFrQixDQUNo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QUFRLFFBQVEsRUFBRSxDQUFDO1lBQ2pCLEtBQUssUUFBUSxDQUFDO1lBQUMsS0FBSyxLQUFLLENBQUM7WUFBQyxLQUFLLE1BQU0sQ0FBQztZQUFDLEtBQUssT0FBTztnQkFDbEQsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNyQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFekQsZ0JBQWdCO1lBQ2hCLDhFQUE4RTtZQUU5RTtnQkFDRSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqQyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJyZXF1aXJlKCdkb3RlbnYnKS5jb25maWcoKVxyXG5pbXBvcnQgeyBkZWNvZGUgYXMgY2JvckRlY29kZSB9IGZyb20gJ2Nib3InXHJcblxyXG5pbXBvcnQgeyBmcm9tSGV4U3RyaW5nLCBpc0hleFN0cmluZyB9IGZyb20gXCIuLi8uLi9iaW4vaGVscGVyc1wiXHJcblxyXG5pbXBvcnQgeyBSYWRvblJlcXVlc3QsIFJhZG9uTW9kYWwsIFJhZG9uVGVtcGxhdGUsIFJhZG9uUmV0cmlldmFsIH0gZnJvbSBcIi4vaW5kZXhcIlxyXG5cclxuaW1wb3J0IHtcclxuICBSYWRvbkFueSxcclxuICBSYWRvbkFycmF5LFxyXG4gIFJhZG9uQm9vbGVhbixcclxuICBSYWRvbkJ5dGVzLFxyXG4gIFJhZG9uRmxvYXQsXHJcbiAgUmFkb25JbnRlZ2VyLFxyXG4gIFJhZG9uTWFwLFxyXG4gIFJhZG9uU3RyaW5nLFxyXG4gIFJhZG9uT3BlcmF0b3JzLFxyXG59IGZyb20gXCIuL3R5cGVzXCJcclxuXHJcbmNvbnN0IFdJVE5FVF9BU1NFVFNfUEFUSCA9IHByb2Nlc3MuZW52LldJVE5FVF9TREtfUkFET05fQVNTRVRTX1BBVEggfHwgXCIuLi8uLi8uLi8uLi8uLi93aXRuZXQvYXNzZXRzXCJcclxuXHJcbmV4cG9ydCB7IGV4ZWNSYWRvbkJ5dGVjb2RlIH0gZnJvbSBcIi4uLy4uL2Jpbi9oZWxwZXJzXCJcclxuXHJcbi8qKlxyXG4gKiBEZWNvZGVzIGEgUmFkb24gc2NyaXB0IG91dCBmcm9tIGEgUHJvdG9idWYtc2VyaWFsaXplZCBieXRlY29kZS5cclxuICogQHBhcmFtIGhleFN0cmluZyBSYWRvbiBzY3JpcHQgYnl0ZWNvZGUuXHJcbiAqIEByZXR1cm5zIFJhZG9uIHNjcmlwdCBvYmplY3QgKGkuZS4gY2hhaW4gb2YgUmFkb24gb3BlcmF0b3JzIHdpdGggYSBkZXRlcm1pbmlzdGljIG91dHB1dCBSYWRvbiB0eXBlKS5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVJhZG9uU2NyaXB0KGJ5dGVjb2RlOiBhbnkpOiBSYWRvbkFueSB7XHJcbiAgbGV0IGJ1ZmZlclxyXG4gIGlmIChpc0hleFN0cmluZyhieXRlY29kZSkpIHtcclxuICAgIGJ1ZmZlciA9IGZyb21IZXhTdHJpbmcoYnl0ZWNvZGUpXHJcbiAgfSBlbHNlIGlmIChieXRlY29kZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcclxuICAgIGJ1ZmZlciA9IEJ1ZmZlci5mcm9tKGJ5dGVjb2RlKVxyXG4gIH0gZWxzZSBpZiAoYnl0ZWNvZGUgaW5zdGFuY2VvZiBCdWZmZXIpIHtcclxuICAgIGJ1ZmZlciA9IGJ5dGVjb2RlXHJcbiAgfSBlbHNlIHtcclxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFVuc3VwcG9ydGVkIFJhZG9uU2NyaXB0IGJ5dGVjb2RlIGZvcm1hdDogJHtieXRlY29kZX1gKVxyXG4gIH1cclxuICBjb25zdCBhcnJheSA9IGNib3JEZWNvZGUoYnVmZmVyKVxyXG4gIHJldHVybiBwYXJzZVNjcmlwdChhcnJheSlcclxufVxyXG5cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmbGF0dGVuUmFkb25Bc3NldHM8VCBleHRlbmRzIFJhZG9uUmVxdWVzdCB8IFJhZG9uVGVtcGxhdGUgfCBSYWRvbk1vZGFsIHwgUmFkb25SZXRyaWV2YWw+KFxyXG4gIHRyZWU6IGFueSxcclxuICB0eXBlPzogeyBuZXcoc3BlY3M6IGFueSk6IFQ7IH0sXHJcbiAgaGVhZGVycz86IHN0cmluZ1tdXHJcbik6IEFycmF5PHsga2V5OiBzdHJpbmcsIGFydGlmYWN0OiBhbnkgfT4ge1xyXG4gIGlmICghaGVhZGVycykgaGVhZGVycyA9IFtdXHJcbiAgY29uc3QgZW50cmllczogQXJyYXk8eyBrZXk6IHN0cmluZywgYXJ0aWZhY3Q6IGFueSB9PiA9IFtdXHJcbiAgZm9yIChjb25zdCBrZXkgaW4gdHJlZSkge1xyXG4gICAgaWYgKFxyXG4gICAgICAodHlwZSAmJiB0cmVlW2tleV0gaW5zdGFuY2VvZiB0eXBlKVxyXG4gICAgICB8fCAoIXR5cGUgJiYgKFxyXG4gICAgICAgICAgdHJlZVtrZXldIGluc3RhbmNlb2YgUmFkb25SZXF1ZXN0XHJcbiAgICAgICAgICB8fCB0cmVlW2tleV0gaW5zdGFuY2VvZiBSYWRvblRlbXBsYXRlXHJcbiAgICAgICAgICB8fCB0cmVlW2tleV0gaW5zdGFuY2VvZiBSYWRvbk1vZGFsXHJcbiAgICAgICAgICB8fCB0cmVlW2tleV0gaW5zdGFuY2VvZiBSYWRvblJldHJpZXZhbFxyXG4gICAgICApKVxyXG4gICAgKSB7XHJcbiAgICAgIGVudHJpZXMucHVzaCh7XHJcbiAgICAgICAga2V5LFxyXG4gICAgICAgIGFydGlmYWN0OiB0cmVlW2tleV0sXHJcbiAgICAgIH0pXHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB0cmVlW2tleV0gPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgZW50cmllcy5wdXNoKC4uLmZsYXR0ZW5SYWRvbkFzc2V0cyhcclxuICAgICAgICB0cmVlW2tleV0sXHJcbiAgICAgICAgdHlwZSxcclxuICAgICAgICBbLi4uaGVhZGVycywga2V5XVxyXG4gICAgICApKVxyXG4gICAgfVxyXG4gIH1cclxuICByZXR1cm4gZW50cmllc1xyXG59O1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVSYWRvbkFzc2V0PFQgZXh0ZW5kcyBSYWRvblJlcXVlc3QgfCBSYWRvblRlbXBsYXRlIHwgUmFkb25Nb2RhbCB8IFJhZG9uUmV0cmlldmFsPihzcGVjczoge1xyXG4gIGFydGlmYWN0OiBzdHJpbmcsXHJcbiAgYXNzZXRzPzogYW55LFxyXG4gIHR5cGU/OiB7IG5ldyAoc3BlY3M6IGFueSk6IFQ7IH0sXHJcbn0pOiBUIHtcclxuICBjb25zdCBzdHVmZiA9IChcclxuICAgIHNwZWNzPy5hc3NldHMgXHJcbiAgICAgID8gZmxhdHRlblJhZG9uQXNzZXRzKHNwZWNzLmFzc2V0cywgc3BlY3M/LnR5cGUpIFxyXG4gICAgICA6IGxvYWRNb2R1bGVBc3NldHMoeyBmbGF0dGVuZWQ6IHRydWUsIHR5cGU6IHNwZWNzPy50eXBlIH0pXHJcbiAgKTtcclxuICBjb25zdCBmb3VuZCA9IHN0dWZmLmZpbmQoKGVudHJ5OiB7IGtleTogc3RyaW5nLCBhcnRpZmFjdDogYW55IH0pID0+IGVudHJ5LmtleSA9PT0gc3BlY3MuYXJ0aWZhY3QpXHJcbiAgaWYgKGZvdW5kKSB7XHJcbiAgICByZXR1cm4gZm91bmRbMF0uYXJ0aWZhY3RcclxuICB9IGVsc2Uge1xyXG4gICAgdGhyb3cgRXJyb3IoYFJhZG9uIGFzc2V0IFwiJHtzcGVjcy5hcnRpZmFjdH1cIiBub3QgYXZhaWxhYmxlLmApXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU2VhcmNoIFdpdG5ldCBSYWRvbiBhc3NldHMgZGVjbGFyZWQgb3IgaW1wb3J0ZWQgd2l0aGluIGN1cnJlbnQgcmVwb3NpdG9yeSwgXHJcbiAqIHdob3NlIG5hbWVzIGNvbXBsaWVzIHdpdGggdGhlIHByb3ZpZGVkIGBwYXR0ZXJuYCBhbmQgYGZpbHRlckZuYC4gXHJcbiAqIElmIG5vIGBmaWx0ZXJGbmAgaXMgc3BlY2lmaWVkLCBzZWFyY2ggd2lsbCBpbmNsdWRlIGFzc2V0cyB3aG9zZSBuYW1lcyBcclxuICogYXJlIHN1ZmZpeGVkIGJ5IGdpdmVuIGBwYXR0ZXJuYCAoY2FzZSBpbnNlbnNpdGl2ZSkuXHJcbiAqIEBwYXJhbSBvcHRpb25zIFNlYXJjaCBvcHRpb25zXHJcbiAqIEBwYXJhbSBmaWx0ZXJGbiBGaWx0ZXJpbmcgZnVuY3Rpb24uXHJcbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIFJhZG9uIGFzc2V0cyBvZiB0aGUgc3BlY2lmaWVkIGtpbmQgY29tcGx5aW5nIHdpdGggdGhlIHNlYXJjaCBwYXR0ZXJuLiBcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hSYWRvbkFzc2V0czxUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbD4oXHJcbiAgb3B0aW9uczoge1xyXG4gICAgLyoqXHJcbiAgICAgKiBPYmplY3QgY29udGFpbmluZyBzdHJ1Y3R1cmVkIGhlcmlhcmNoeSBvZiBSYWRvbiBhc3NldHMuIElmIG5vdCBwcm92aWRlZCwgUmFkb24gYXNzZXRzIGRlY2xhcmVkIHdpdGhpbiBwcm9qZWN0J3MgZW52aXJvbm1lbnQuXHJcbiAgICAgKi9cclxuICAgIGFzc2V0cz86IGFueSxcclxuICAgIC8qKlxyXG4gICAgICogTGltaXRzIG51bWJlciBvZiByZXR1cm5lZCBSYWRvbiBhc3NldHMuXHJcbiAgICAgKi9cclxuICAgIGxpbWl0PzogbnVtYmVyLFxyXG4gICAgLyoqXHJcbiAgICAgKiBPZmZzZXRzIHJldHVybmVkIGFycmF5IG9mIFJhZG9uIGFzc2V0cy5cclxuICAgICAqL1xyXG4gICAgb2Zmc2V0PzogbnVtYmVyLFxyXG4gICAgLyoqXHJcbiAgICAgKiBOYW1lIHBhdHRlcm4gc2VhcmNoZWQgZm9yLlxyXG4gICAgICovXHJcbiAgICBwYXR0ZXJuOiBzdHJpbmcsXHJcbiAgICAvKipcclxuICAgICAqIFNwZWNpZmljIHR5cGUgb2YgUmFkb24gYXNzZXQgdG8gc2VhcmNoIGZvcjogYFJhZG9uUmVxdWVzdGAsIGBSYWRvblJlcXVlc3RgLCBgUmFkb25SZXRyaWV2YWxgIG9yIGBSYWRvbkNDRFJgLlxyXG4gICAgICovXHJcbiAgICB0eXBlPzogeyBuZXcgKHNwZWNzOiBhbnkpOiBUOyB9LFxyXG4gIH0sXHJcbiAgZmlsdGVyRm4/OiAoa2V5OiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZykgPT4gYm9vbGVhbixcclxuKTogQXJyYXk8W2tleTogc3RyaW5nLCBhcnRpZmFjdDogVF0+IHtcclxuICBjb25zdCBkZWZhdWx0RmlsdGVyID0gKGtleTogc3RyaW5nLCBwYXR0ZXJuOiBzdHJpbmcpID0+IGtleS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKHBhdHRlcm4udG9Mb3dlckNhc2UoKSlcclxuICBjb25zdCBzdHVmZiA9IChcclxuICAgIG9wdGlvbnM/LmFzc2V0c1xyXG4gICAgICA/IGZsYXR0ZW5SYWRvbkFzc2V0cyhvcHRpb25zLmFzc2V0cywgb3B0aW9ucz8udHlwZSlcclxuICAgICAgOiBsb2FkTW9kdWxlQXNzZXRzKHsgZmxhdHRlbmVkOiB0cnVlLCB0eXBlOiBvcHRpb25zPy50eXBlIH0pXHJcbiAgKTtcclxuICByZXR1cm4gKFxyXG4gICAgc3R1ZmZcclxuICAgICAgLmZpbHRlcigoZW50cnk6IHsga2V5OiBzdHJpbmcsIGFydGlmYWN0OiBhbnkgfSkgPT4gKGZpbHRlckZuIHx8IGRlZmF1bHRGaWx0ZXIpKGVudHJ5LmtleSwgb3B0aW9ucy5wYXR0ZXJuIHx8IFwiXCIpKVxyXG4gICAgICAuc2xpY2Uob3B0aW9ucz8ub2Zmc2V0IHx8IDAsIG9wdGlvbnM/LmxpbWl0KVxyXG4gICAgICAubWFwKChlbnRyeTogeyBrZXk6IHN0cmluZywgYXJ0aWZhY3Q6IGFueSB8IFQgfSkgPT4gW2VudHJ5LmtleSwgZW50cnkuYXJ0aWZhY3RdKVxyXG4gICk7XHJcbn1cclxuXHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyAtLS0gSU5URVJOQUwgTUVUSE9EUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuZnVuY3Rpb24gbG9hZE1vZHVsZUFzc2V0czxUIGV4dGVuZHMgUmFkb25SZXF1ZXN0IHwgUmFkb25UZW1wbGF0ZSB8IFJhZG9uTW9kYWwgfCBSYWRvblJldHJpZXZhbD4oXHJcbiAgb3B0aW9uczoge1xyXG4gICAgLy8gbGVnYWN5PzogYm9vbGVhbixcclxuICAgIGZsYXR0ZW5lZD86IGJvb2xlYW4sXHJcbiAgICB0eXBlPzogeyBuZXcoc3BlY3M6IGFueSk6IFQ7IH0sXHJcbiAgfSxcclxuKTogYW55IHtcclxuICAvLyBjb25zdCBzdHVmZiA9IG9wdGlvbnM/LmxlZ2FjeSA/IHJlcXVpcmUoYCR7V0lUTkVUX0FTU0VUU19QQVRIfWApLmxlZ2FjeSA6IHtcclxuICAvLyAgIHJlcXVlc3RzOiByZXF1aXJlKGAke1dJVE5FVF9BU1NFVFNfUEFUSH0vcmVxdWVzdHNgKSxcclxuICAvLyAgIHRlbXBsYXRlczogcmVxdWlyZShgJHtXSVRORVRfQVNTRVRTX1BBVEh9L3RlbXBsYXRlc2ApLFxyXG4gIC8vICAgcmV0cmlldmFsczogcmVxdWlyZShgJHtXSVRORVRfQVNTRVRTX1BBVEh9L3JldHJpZXZhbHNgKSxcclxuICAvLyB9O1xyXG4gIGNvbnN0IHN0dWZmID0gcmVxdWlyZShgJHtXSVRORVRfQVNTRVRTX1BBVEh9YClcclxuICByZXR1cm4gb3B0aW9ucz8uZmxhdHRlbmVkID8gZmxhdHRlblJhZG9uQXNzZXRzKHN0dWZmLCBvcHRpb25zPy50eXBlKSA6IHN0dWZmXHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBhcnNlU2NyaXB0KGFycmF5OiBhbnksIHNjcmlwdD86IGFueSk6IGFueSB7XHJcbiAgaWYgKEFycmF5LmlzQXJyYXkoYXJyYXkpKSB7XHJcbiAgICBhcnJheS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtKSkge1xyXG4gICAgICAgIHNjcmlwdCA9IHBhcnNlU2NyaXB0T3BlcmF0b3Ioc2NyaXB0LCBpdGVtWzBdLCAuLi5pdGVtLnNsaWNlKDEpKVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNjcmlwdCA9IHBhcnNlU2NyaXB0T3BlcmF0b3Ioc2NyaXB0LCBpdGVtKVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIHNjcmlwdFxyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gcGFyc2VTY3JpcHRPcGVyYXRvcihzY3JpcHQsIGFycmF5KVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gcGFyc2VTY3JpcHRPcGVyYXRvcihzY3JpcHQ6IGFueSwgb3Bjb2RlOiBhbnksIGFyZ3M/OiBhbnkpOiBhbnkge1xyXG4gIGlmICghc2NyaXB0KSB7XHJcbiAgICBjb25zdCBmb3VuZCA9IE9iamVjdC5lbnRyaWVzKHtcclxuICAgICAgXCIxMFwiOiBSYWRvbkFycmF5LFxyXG4gICAgICBcIjIwXCI6IFJhZG9uQm9vbGVhbixcclxuICAgICAgXCIzMFwiOiBSYWRvbkJ5dGVzLFxyXG4gICAgICBcIjQwXCI6IFJhZG9uSW50ZWdlcixcclxuICAgICAgXCI1MFwiOiBSYWRvbkZsb2F0LFxyXG4gICAgICBcIjYwXCI6IFJhZG9uTWFwLFxyXG4gICAgICBcIjcwXCI6IFJhZG9uU3RyaW5nLFxyXG4gICAgfSkuZmluZChlbnRyeSA9PiBlbnRyeVswXSA9PT0gKHBhcnNlSW50KG9wY29kZSkgJiAweGYwKS50b1N0cmluZygxNikpXHJcbiAgICBpZiAoZm91bmQpIHtcclxuICAgICAgc2NyaXB0ID0gbmV3IGZvdW5kWzFdXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBUeXBlRXJyb3IoYHVua25vd24gUmFkb24gb3BlcmF0b3I6ICR7b3Bjb2RlfWApXHJcbiAgICB9XHJcbiAgfVxyXG4gIGlmIChvcGNvZGUpIHtcclxuICAgIGxldCBvcGVyYXRvciA9IFJhZG9uT3BlcmF0b3JzW29wY29kZV0uc3BsaXQoLyg/PVtBLVpdKS8pLnNsaWNlKDEpLmpvaW4oXCJcIilcclxuICAgIG9wZXJhdG9yID0gb3BlcmF0b3IuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBvcGVyYXRvci5zbGljZSgxKVxyXG4gICAgc3dpdGNoIChvcGVyYXRvcikge1xyXG4gICAgICBjYXNlIFwiZmlsdGVyXCI6IGNhc2UgXCJtYXBcIjogY2FzZSBcInNvcnRcIjogY2FzZSBcImFsdGVyXCI6XHJcbiAgICAgICAgY29uc3QgaW5uZXJTY3JpcHQgPSBwYXJzZVNjcmlwdChhcmdzKVxyXG4gICAgICAgIHJldHVybiBzY3JpcHRbb3BlcmF0b3JdKGlubmVyU2NyaXB0LCAuLi5hcmdzLnNsaWNlKDEpKTtcclxuXHJcbiAgICAgIC8vIGNhc2UgXCJhbHRlclwiOlxyXG4gICAgICAvLyAgIHJldHVybiBzY3JpcHRbb3BlcmF0b3JdKGFyZ3NbMF0sIHBhcnNlU2NyaXB0KGFyZ3NbMV0sIC4uLmFyZ3Muc2xpY2UoMikpKTtcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHNjcmlwdFtvcGVyYXRvcl0oYXJncylcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@witnet/sdk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Typescript library and CLI tooling for Web3 buidlers willing to interact with the Witnet blockchain.",
|
|
5
5
|
"author": "Witnet Foundation",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,19 +19,20 @@
|
|
|
19
19
|
],
|
|
20
20
|
"exports": {
|
|
21
21
|
".": {
|
|
22
|
+
"types": "./dist/src/*.d.ts",
|
|
22
23
|
"require": "./dist/src/index.js",
|
|
23
|
-
"default": "./dist/src/index.js"
|
|
24
|
-
"types": "./dist/src/*.d.ts"
|
|
24
|
+
"default": "./dist/src/index.js"
|
|
25
25
|
},
|
|
26
26
|
"./assets": "./dist/witnet/assets/index.js",
|
|
27
27
|
"./utils": {
|
|
28
|
+
"types": "./dist/src/lib/*.d.ts",
|
|
28
29
|
"require": "./dist/src/lib/utils.js",
|
|
29
|
-
"default": "./dist/src/lib/utils.js"
|
|
30
|
-
"types": "./dist/src/lib/*.d.ts"
|
|
30
|
+
"default": "./dist/src/lib/utils.js"
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"types": "./dist",
|
|
34
34
|
"dependencies": {
|
|
35
|
+
"@bitcoinerlab/secp256k1": "^1.2.0",
|
|
35
36
|
"axios": "^1.12.2",
|
|
36
37
|
"bech32": "~2.0.0",
|
|
37
38
|
"bip32": "^4.0.0",
|
|
@@ -48,8 +49,7 @@
|
|
|
48
49
|
"promise-poller": "~1.9.1",
|
|
49
50
|
"protobufjs": "^7.5.4",
|
|
50
51
|
"qrcode-terminal": "^0.12.0",
|
|
51
|
-
"secp256k1": "^5.0.1"
|
|
52
|
-
"tiny-secp256k1": "~2.2.4"
|
|
52
|
+
"secp256k1": "^5.0.1"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@types/node": "^22.18.5",
|
package/src/bin/cli/radon.js
CHANGED
|
@@ -27,12 +27,21 @@ module.exports = {
|
|
|
27
27
|
hint: "List available Witnet Radon assets.",
|
|
28
28
|
params: "[RADON_ASSETS ...]",
|
|
29
29
|
options: {
|
|
30
|
+
filter: {
|
|
31
|
+
hint: "Restrict output to name-matching assets.",
|
|
32
|
+
},
|
|
30
33
|
legacy: {
|
|
31
34
|
hint: "List only those declared in witnet/assets folder.",
|
|
32
35
|
},
|
|
33
|
-
|
|
34
|
-
hint: "Restrict output to
|
|
36
|
+
modals: {
|
|
37
|
+
hint: "Restrict output to Radon modals.",
|
|
35
38
|
},
|
|
39
|
+
requests: {
|
|
40
|
+
hint: "Restrict output to Radon requests.",
|
|
41
|
+
},
|
|
42
|
+
templates: {
|
|
43
|
+
hint: "Restrict output to Radon templates.",
|
|
44
|
+
},
|
|
36
45
|
},
|
|
37
46
|
},
|
|
38
47
|
check: {
|
|
@@ -169,21 +178,25 @@ async function assets (options = {}, [...patterns]) {
|
|
|
169
178
|
`${options?.module ? options.module.toUpperCase() : path.basename(process.cwd()).toUpperCase()} RADON ASSETS`,
|
|
170
179
|
helpers.colors.white
|
|
171
180
|
)
|
|
172
|
-
const assets = clearEmptyBranches(
|
|
181
|
+
const assets = clearEmptyBranches(
|
|
182
|
+
options?.module ? require(options.module) : loadAssets(options),
|
|
183
|
+
patterns,
|
|
184
|
+
options
|
|
185
|
+
);
|
|
173
186
|
if (assets && Object.keys(assets).length > 0) {
|
|
174
|
-
traceWitnetArtifacts(assets, patterns, " ", options
|
|
187
|
+
traceWitnetArtifacts(assets, patterns, " ", options)
|
|
175
188
|
} else {
|
|
176
189
|
console.info("> No custom Radon assets declared just yet.")
|
|
177
190
|
}
|
|
178
191
|
}
|
|
179
192
|
/// -------------------------------------------------------------------------------------------------------------------
|
|
180
193
|
|
|
181
|
-
async function check (
|
|
194
|
+
async function check () {
|
|
182
195
|
if (!isModuleInitialized) {
|
|
183
196
|
throw new Error(`No Witnet Radon workspace has been initialized. Please, run ${white("npx witsdk radon init")} if willing to declare your own Radon assets.`)
|
|
184
197
|
}
|
|
185
198
|
try {
|
|
186
|
-
const assets = loadAssets({
|
|
199
|
+
const assets = loadAssets({ legacy: true })
|
|
187
200
|
const [
|
|
188
201
|
modals,
|
|
189
202
|
requests,
|
|
@@ -234,7 +247,7 @@ async function decode (options = {}, args = []) {
|
|
|
234
247
|
} else {
|
|
235
248
|
args = args.slice(1)
|
|
236
249
|
|
|
237
|
-
const assets = loadAssets(options)
|
|
250
|
+
const assets = options?.module ? require(options.module) : loadAssets(options)
|
|
238
251
|
const headline = options?.headline
|
|
239
252
|
const crafts = flattenRadonArtifacts(assets).filter(craft => craft.key.toLowerCase().indexOf(asset.toLowerCase()) >= 0)
|
|
240
253
|
if (crafts.length === 0) {
|
|
@@ -300,7 +313,7 @@ async function dryrun (options = {}, args = []) {
|
|
|
300
313
|
}
|
|
301
314
|
} else {
|
|
302
315
|
args = args.slice(1)
|
|
303
|
-
const assets = loadAssets(options)
|
|
316
|
+
const assets = options?.module ? require(options.module) : loadAssets(options)
|
|
304
317
|
const headline = options?.headline
|
|
305
318
|
const crafts = flattenRadonArtifacts(assets).filter(craft => craft.key.toLowerCase().indexOf(asset.toLowerCase()) >= 0)
|
|
306
319
|
if (crafts.length === 0) {
|
|
@@ -384,8 +397,12 @@ const stringifyReducer = (x, c) => {
|
|
|
384
397
|
}
|
|
385
398
|
|
|
386
399
|
function loadAssets (options) {
|
|
387
|
-
const { assets } = options?.
|
|
388
|
-
return
|
|
400
|
+
const { assets } = options?.legacy ? {} : require("@witnet/sdk")
|
|
401
|
+
return (
|
|
402
|
+
isModuleInitialized && fs.existsSync(`${WITNET_ASSETS_PATH}`)
|
|
403
|
+
? merge(assets, require(`${WITNET_ASSETS_PATH}`))
|
|
404
|
+
: assets
|
|
405
|
+
);
|
|
389
406
|
}
|
|
390
407
|
|
|
391
408
|
function flattenRadonArtifacts (tree, headers) {
|
|
@@ -412,44 +429,64 @@ function flattenRadonArtifacts (tree, headers) {
|
|
|
412
429
|
return matches
|
|
413
430
|
};
|
|
414
431
|
|
|
415
|
-
function countWitnetArtifacts (assets, args,
|
|
432
|
+
function countWitnetArtifacts (assets, args, options) {
|
|
416
433
|
let counter = 0
|
|
417
434
|
Object.entries(assets).forEach(([key, value]) => {
|
|
418
|
-
|
|
419
|
-
value instanceof Witnet.Radon.RadonModal
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
)
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
435
|
+
let include = (
|
|
436
|
+
(options?.modals && value instanceof Witnet.Radon.RadonModal)
|
|
437
|
+
|| (options?.templates && value instanceof Witnet.Radon.RadonTemplate)
|
|
438
|
+
|| (options?.retrievals && value instanceof Witnet.Radon.RadonRetrieval)
|
|
439
|
+
|| (options?.requests && value instanceof Witnet.Radon.RadonRequest)
|
|
440
|
+
);
|
|
441
|
+
if (!(options?.modals || options?.templates || options?.retrievals || options?.requests)) {
|
|
442
|
+
include = (
|
|
443
|
+
value instanceof Witnet.Radon.RadonModal ||
|
|
444
|
+
value instanceof Witnet.Radon.RadonRequest ||
|
|
445
|
+
value instanceof Witnet.Radon.RadonTemplate ||
|
|
446
|
+
value instanceof Witnet.Radon.RadonRetrieval
|
|
447
|
+
);
|
|
448
|
+
}
|
|
449
|
+
if (include && (
|
|
450
|
+
!options?.filter
|
|
451
|
+
|| !args
|
|
452
|
+
|| args.length === 0
|
|
453
|
+
|| args.find(arg => key.toLowerCase().indexOf(arg.toLowerCase()) >= 0)
|
|
428
454
|
)) {
|
|
429
455
|
counter++
|
|
430
456
|
} else if (typeof value === "object") {
|
|
431
|
-
counter += countWitnetArtifacts(value, args)
|
|
457
|
+
counter += countWitnetArtifacts(value, args, options)
|
|
432
458
|
}
|
|
433
459
|
})
|
|
434
460
|
return counter
|
|
435
461
|
}
|
|
436
462
|
|
|
437
|
-
function clearEmptyBranches (node, args,
|
|
463
|
+
function clearEmptyBranches (node, args, options) {
|
|
438
464
|
if (node) {
|
|
439
465
|
const assets = Object.fromEntries(
|
|
440
466
|
Object.entries(node).map(([key, value]) => {
|
|
467
|
+
let include = (
|
|
468
|
+
(options?.modals && value instanceof Witnet.Radon.RadonModal)
|
|
469
|
+
|| (options?.templates && value instanceof Witnet.Radon.RadonTemplate)
|
|
470
|
+
|| (options?.retrievals && value instanceof Witnet.Radon.RadonRetrieval)
|
|
471
|
+
|| (options?.requests && value instanceof Witnet.Radon.RadonRequest)
|
|
472
|
+
);
|
|
473
|
+
if (!(options?.modals || options?.templates || options?.retrievals || options?.requests)) {
|
|
474
|
+
include = (
|
|
475
|
+
value instanceof Witnet.Radon.RadonModal ||
|
|
476
|
+
value instanceof Witnet.Radon.RadonRequest ||
|
|
477
|
+
value instanceof Witnet.Radon.RadonTemplate ||
|
|
478
|
+
value instanceof Witnet.Radon.RadonRetrieval
|
|
479
|
+
);
|
|
480
|
+
}
|
|
441
481
|
if (
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
value instanceof Witnet.Radon.RadonModal ||
|
|
445
|
-
value instanceof Witnet.Radon.RadonRequest ||
|
|
446
|
-
value instanceof Witnet.Radon.RadonTemplate
|
|
482
|
+
include && (
|
|
483
|
+
!options?.filter || args.find(arg => key.toLowerCase().indexOf(arg.toLowerCase()) >= 0)
|
|
447
484
|
)
|
|
448
485
|
) {
|
|
449
486
|
return [key, value]
|
|
450
487
|
} else if (typeof value === "object") {
|
|
451
|
-
if (countWitnetArtifacts(value, args,
|
|
452
|
-
return [key, clearEmptyBranches(value, args,
|
|
488
|
+
if (countWitnetArtifacts(value, args, options) > 0) {
|
|
489
|
+
return [key, clearEmptyBranches(value, args, options)]
|
|
453
490
|
} else {
|
|
454
491
|
return [key, undefined]
|
|
455
492
|
}
|
|
@@ -467,25 +504,25 @@ function clearEmptyBranches (node, args, filter) {
|
|
|
467
504
|
}
|
|
468
505
|
}
|
|
469
506
|
|
|
470
|
-
function traceWitnetArtifacts (assets, args, indent = "",
|
|
507
|
+
function traceWitnetArtifacts (assets, args, indent = "", options) {
|
|
471
508
|
const prefix = `${indent}`
|
|
472
509
|
Object.keys(assets).forEach((key, index) => {
|
|
473
510
|
const isLast = index === Object.keys(assets).length - 1
|
|
474
511
|
const found = args.find(arg => key.toLowerCase().indexOf(arg.toLowerCase()) >= 0)
|
|
475
512
|
const color = found ? helpers.colors.mcyan : helpers.colors.cyan
|
|
476
513
|
if (assets[key] instanceof Witnet.Radon.RadonRequest) {
|
|
477
|
-
if (!filter || found) {
|
|
514
|
+
if (!options?.filter || found) {
|
|
478
515
|
console.info(`${prefix}${color(key)} ${assets[key].sources.length > 1 ? helpers.colors.yellow(`(${assets[key].sources.length} sources)`) : ""}`)
|
|
479
516
|
if (isLast) {
|
|
480
517
|
console.info(`${prefix}`)
|
|
481
518
|
}
|
|
482
519
|
}
|
|
483
|
-
} else if (
|
|
520
|
+
} else if ((
|
|
484
521
|
assets[key] instanceof Witnet.Radon.RadonTemplate ||
|
|
485
522
|
assets[key] instanceof Witnet.Radon.RadonModal
|
|
486
|
-
) {
|
|
523
|
+
)) {
|
|
487
524
|
const argsCount = assets[key].argsCount
|
|
488
|
-
if (!filter || found) {
|
|
525
|
+
if (!options?.filter || found) {
|
|
489
526
|
console.info(`${prefix}${color(key)} ${argsCount > 0 ? helpers.colors.green(`(${argsCount} args)`) : ""}`)
|
|
490
527
|
if (isLast) {
|
|
491
528
|
console.info(`${prefix}`)
|
|
@@ -493,15 +530,15 @@ function traceWitnetArtifacts (assets, args, indent = "", filter = false) {
|
|
|
493
530
|
}
|
|
494
531
|
} else if (assets[key] instanceof Witnet.Radon.RadonRetrieval) {
|
|
495
532
|
const argsCount = assets[key].argsCount
|
|
496
|
-
if (!filter || found) {
|
|
533
|
+
if (!options?.filter || found) {
|
|
497
534
|
console.info(`${prefix}${color(key)} ${argsCount > 0 ? helpers.colors.green(`(${argsCount} args)`) : ""}`)
|
|
498
535
|
if (isLast) {
|
|
499
536
|
console.info(`${prefix}`)
|
|
500
537
|
}
|
|
501
538
|
}
|
|
502
|
-
} else if (typeof assets[key] === "object" && countWitnetArtifacts(assets[key], args,
|
|
539
|
+
} else if (typeof assets[key] === "object" && countWitnetArtifacts(assets[key], args, options) > 0) {
|
|
503
540
|
console.info(`${indent}${isLast ? "└─ " : "├─ "}${key}`)
|
|
504
|
-
traceWitnetArtifacts(assets[key], args, !isLast ? `${indent}│ ` : `${indent} `,
|
|
541
|
+
traceWitnetArtifacts(assets[key], args, !isLast ? `${indent}│ ` : `${indent} `, options)
|
|
505
542
|
}
|
|
506
543
|
})
|
|
507
544
|
}
|
package/src/bin/cli/wallet.js
CHANGED
|
@@ -946,13 +946,12 @@ async function _loadRadonRequest (options = {}) {
|
|
|
946
946
|
}
|
|
947
947
|
|
|
948
948
|
// load Radon assets from environment
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
assets: loadAssets(options),
|
|
949
|
+
const assets = utils.searchRadonAssets({
|
|
950
|
+
assets: options?.module ? require(options.module) : loadAssets(options),
|
|
952
951
|
pattern: options?.pattern,
|
|
953
|
-
},
|
|
952
|
+
},
|
|
954
953
|
(key, pattern) => key.toLowerCase().indexOf(pattern.toLowerCase()) >= 0
|
|
955
|
-
)
|
|
954
|
+
);
|
|
956
955
|
|
|
957
956
|
if (args.length > 0) {
|
|
958
957
|
// ignore RadonRequests if args were passed from the CLI
|
package/src/bin/helpers.js
CHANGED
|
@@ -98,7 +98,7 @@ async function execRadonBytecode (bytecode, ...flags) {
|
|
|
98
98
|
throw EvalError("invalid hex string")
|
|
99
99
|
} else {
|
|
100
100
|
const npx = os.type() === "Windows_NT" ? "npx.cmd" : "npx"
|
|
101
|
-
return cmd(npx, "
|
|
101
|
+
return cmd(npx, "witsdk", "radon", "dry-run", bytecode, ...flags)
|
|
102
102
|
// .catch((err) => {
|
|
103
103
|
// let errorMessage = err.message.split('\n').slice(1).join('\n').trim()
|
|
104
104
|
// const errorRegex = /.*^error: (?<message>.*)$.*/gm
|
package/src/bin/toolkit.js
CHANGED