Socket
Socket
Sign inDemoInstall

@chainlink/evm-gauntlet

Package Overview
Dependencies
Maintainers
5
Versions
126
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@chainlink/evm-gauntlet - npm Package Compare versions

Comparing version 0.0.0-develop-20240227131954 to 0.0.0-develop-20240227204925

32

dist/evm/commands/native/batchInspectionCommand.js

@@ -38,4 +38,5 @@ "use strict";

const allInspectionCmds = await Promise.all(this.inspections.map(async (inspection) => {
const userInput = inspection.input.input;
const config = this.idToConfig[inspection.id];
const contractInputs = await config.makeContractInput(inspection.input);
const contractInputs = await config.makeContractInput(userInput);
return {

@@ -46,4 +47,4 @@ config,

contractAddress: inspection.contractAddress,
fns: typeof config.queries === 'function' ? config.queries(inspection.input) : config.queries,
userInput: inspection.input,
fns: typeof config.queries === 'function' ? config.queries(userInput) : config.queries,
userInput,
contractInputs: Array.isArray(contractInputs) ? contractInputs : [contractInputs],

@@ -66,3 +67,14 @@ };

const provider = new provider_1.EVMBatchProvider(this.providerUrl);
return Promise.all(batch.map((query) => query.contract.connect(provider.provider)[query.fn](...query.input)));
return Promise.all(batch.map((query) => {
const fetch = async () => {
try {
return await query.contract.connect(provider.provider)[query.fn](...query.input);
}
catch (e) {
// Don't fail out if one query fails
return '!!ERROR!!';
}
};
return fetch();
}));
}))).flat();

@@ -76,3 +88,10 @@ /*

let promises = allInspectionCmds.map((cmd) => {
const promise = cmd.config.makeComparisionData(provider)(results.slice(start, start + cmd.fns.length), cmd.userInput, cmd.contractAddress, cmd.contractFactory);
const promise = cmd.config.makeComparisionData(provider, {
id: (0, core_1.makeCommandId)(cmd.config.ux.category, cmd.config.ux.function),
contractAddress: cmd.contractAddress,
provider,
flags: this.flags,
env: this.env,
contract: cmd.contractFactory,
})(results.slice(start, start + cmd.fns.length), cmd.userInput, cmd.contractAddress, cmd.contractFactory);
start += cmd.fns.length;

@@ -132,2 +151,3 @@ return promise;

c.providerUrl = env.providerUrl;
c.env = env;
/*

@@ -183,2 +203,2 @@ categoryToFactory enables us to load a contract once and have all

exports.makeEVMBatchInspectionCommand = makeEVMBatchInspectionCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hJbnNwZWN0aW9uQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ldm0vY29tbWFuZHMvbmF0aXZlL2JhdGNoSW5zcGVjdGlvbkNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdHQUE4RTtBQUM5RSx3Q0FBMEQ7QUFFMUQsbUNBQWtEO0FBR2xELDZCQUF1QjtBQUN2QiwwQ0FBcUQ7QUFDckQsNkNBQStEO0FBSS9ELFNBQVMsVUFBVSxDQUFJLEtBQVUsRUFBRSxTQUFTO0lBQzFDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFO1FBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUE7S0FDM0M7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxPQUFDO0tBQ2IsTUFBTSxDQUFDO0lBQ04sRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxPQUFPLEVBQUUsZ0JBQVE7SUFDakIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0NBQ3BCLENBQUM7S0FDRCxLQUFLLEVBQUUsQ0FBQTtBQUlWLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFBO0FBYXZCLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxRQUFnQixFQUFFLE9BQXdDLEVBQUUsRUFBRSxDQUFDLENBQzNHLElBQXFCLEVBQ3JCLEVBQUU7O0lBQ0YsTUFBTSxFQUFFLEdBQUcsR0FBRyxRQUFRLGdCQUFnQixDQUFBO0lBRXRDLE1BQU0sT0FBTyxTQUFnRCxNQUFNLHNCQUNqRSxTQUFRLGNBQVc7WUFEd0M7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QUFPLENBQUE7QUFDaEIsQ0FBQyxDQUFBO0FBak1ZLFFBQUEsNkJBQTZCLGlDQWlNekMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbW1hbmQgZnJvbSAnQGNoYWlubGluay9nYXVudGxldC1jb3JlL2Rpc3QvY29tbWFuZHMvaW50ZXJuYWwvYmFzZSdcbmltcG9ydCB7IENvbW1hbmRDdG9yLCBtYWtlQ29tbWFuZElkIH0gZnJvbSAnLi4vLi4vLi4vY29yZSdcbmltcG9ydCB7IEluc3BlY3RVc2VySW5wdXQsIEluc3BlY3Rpb25SZXBvcnQgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbW1hbmRzL2Jhc2UvaW5zcGVjdGlvbkNvbW1hbmQnXG5pbXBvcnQgeyBDb250cmFjdCwgQ29udHJhY3RGYWN0b3J5IH0gZnJvbSAnZXRoZXJzJ1xuaW1wb3J0IHsgRVZNSW5zcGVjdGlvbkNvbW1hbmRDb25maWcgfSBmcm9tICcuLidcbmltcG9ydCB7IEVWTURlcGVuZGVuY2llcyB9IGZyb20gJy4uLy4uL2RlcGVuZGVuY2llcydcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnXG5pbXBvcnQgeyBwYXJzZUFzeW5jLCB6QWRkcmVzcyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgRVZNQmF0Y2hQcm92aWRlciwgbWFrZVByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXInXG5cbnR5cGUgRVZNSW5zcGVjdGlvbkNvbW1hbmRDb25maWdBbnkgPSBFVk1JbnNwZWN0aW9uQ29tbWFuZENvbmZpZzxhbnksIGFueSwgYW55LCBhbnk+XG5cbmZ1bmN0aW9uIGNodW5rQXJyYXk8VD4oYXJyYXk6IFRbXSwgY2h1bmtTaXplKTogVFtdW10ge1xuICBjb25zdCByZXN1bHQgPSBbXVxuICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSArPSBjaHVua1NpemUpIHtcbiAgICByZXN1bHQucHVzaChhcnJheS5zbGljZShpLCBpICsgY2h1bmtTaXplKSlcbiAgfVxuICByZXR1cm4gcmVzdWx0XG59XG5cbmNvbnN0IHNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgaWQ6IHouc3RyaW5nKCksXG4gICAgYWRkcmVzczogekFkZHJlc3MsXG4gICAgaW5wdXQ6IHoub2JqZWN0KHt9KSxcbiAgfSlcbiAgLmFycmF5KClcblxudHlwZSBJbnB1dCA9IHouaW5mZXI8dHlwZW9mIHNjaGVtYT5cblxuY29uc3QgREVGQVVMVF9CQVRDSF9TSVpFID0gNTAwXG5cbi8qXG5UaGUgZGF0YSBmaWVsZCBvZiB0aGUgRVZNQmF0Y2hJbnNwZWN0aW9uUmVwb3J0IGlzIGp1c3QgYW4gYXJyYXkgb2YgcmVndWxhciBpbnNwZWN0aW9uIHJlcG9ydHMuXG5UaGUgdG9wIGxldmVsIFwiY29udHJhY3RcIiBhbmQgXCJpbnNwZWN0aW9uXCIgZmllbGRzIGFyZSBub3QgdXNlZC4gVGhleSBhcmUganVzdCBwcmVzZW50IHRvIG1lZXRcbnRoZSBpbnRlcmZhY2UuXG4qL1xuZXhwb3J0IGludGVyZmFjZSBFVk1CYXRjaEluc3BlY3Rpb25SZXBvcnQgZXh0ZW5kcyBJbnNwZWN0aW9uUmVwb3J0PEluc3BlY3Rpb25SZXBvcnQ8YW55PltdPiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEVWTUJhdGNoSW5zcGVjdENvbW1hbmRJbnN0YW5jZSB7XG4gIGV4ZWN1dGU6ICgpID0+IFByb21pc2U8eyBkYXRhOiBFVk1CYXRjaEluc3BlY3Rpb25SZXBvcnQ7IHJlc3BvbnNlczogYW55W10gfT5cbn1cblxuZXhwb3J0IGNvbnN0IG1ha2VFVk1CYXRjaEluc3BlY3Rpb25Db21tYW5kID0gKGNhdGVnb3J5OiBzdHJpbmcsIGNvbmZpZ3M6IEVWTUluc3BlY3Rpb25Db21tYW5kQ29uZmlnQW55W10pID0+IChcbiAgZGVwczogRVZNRGVwZW5kZW5jaWVzLFxuKSA9PiB7XG4gIGNvbnN0IGlkID0gYCR7Y2F0ZWdvcnl9Omluc3BlY3Q6YmF0Y2hgXG5cbiAgY29uc3QgY29tbWFuZDogQ29tbWFuZEN0b3I8RVZNQmF0Y2hJbnNwZWN0Q29tbWFuZEluc3RhbmNlPiA9IGNsYXNzIEJhdGNoSW5zcGVjdGlvbkNvbW1hbmRcbiAgICBleHRlbmRzIEJhc2VDb21tYW5kXG4gICAgaW1wbGVtZW50cyBFVk1CYXRjaEluc3BlY3RDb21tYW5kSW5zdGFuY2Uge1xuICAgIC8vIFByb3BzXG4gICAgYmF0Y2hTaXplOiBudW1iZXJcbiAgICBwcm92aWRlclVybDogc3RyaW5nXG4gICAgY2F0ZWdvcnlUb0ZhY3Rvcnk6IHsgW2lkOiBzdHJpbmddOiBDb250cmFjdEZhY3RvcnkgfVxuICAgIGlkVG9Db25maWc6IHsgW2lkOiBzdHJpbmddOiBFVk1JbnNwZWN0aW9uQ29tbWFuZENvbmZpZ0FueSB9XG4gICAgaW5zcGVjdGlvbnM6IHtcbiAgICAgIGlkOiBzdHJpbmdcbiAgICAgIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nXG4gICAgICBjb250cmFjdDogQ29udHJhY3RcbiAgICAgIGlucHV0OiBJbnNwZWN0VXNlcklucHV0PGFueSwgYW55PlxuICAgIH1bXVxuXG4gICAgLy8gVVhcbiAgICBzdGF0aWMgaWQgPSBpZFxuICAgIHN0YXRpYyBjYXRlZ29yeSA9IGNhdGVnb3J5XG4gICAgc3RhdGljIGV4YW1wbGVzID0gW1xuICAgICAgYCR7aWR9IC0tbmV0d29yaz08TkVUV09SSz4gKC0tYmF0Y2hTaXplPTxCQVRDSF9TSVpFPikgJ1tcbiAge1xuICAgIFwiaWRcIjogXCI8Q09NTUFORF9JRF8xXCIsXG4gICAgXCJhZGRyZXNzXCI6IFwiMHguLi5cIixcbiAgICBcImlucHV0XCI6IHsgLi4uIH1cbiAgfSxcbiAge1xuICAgIFwiaWRcIjogXCI8Q09NTUFORF9JRF8yPlwifSxcbiAgICBcImFkZHJlc3NcIjogXCIweC4uLlwiLFxuICAgIFwiaW5wdXRcIjogeyAuLi4gfVxuICB9IFxuICAuLi5cbl0nYCxcbiAgICBdXG5cbiAgICBzdGF0aWMgY3JlYXRlID0gYXN5bmMgKGZsYWdzLCBhcmdzKSA9PiB7XG4gICAgICBjb25zdCBjID0gbmV3IEJhdGNoSW5zcGVjdGlvbkNvbW1hbmQoZmxhZ3MsIGFyZ3MpXG5cbiAgICAgIGNvbnN0IGluc3BlY3REZWZzID0gSlNPTi5wYXJzZShhcmdzWzBdKSBhcyBJbnB1dFxuICAgICAgYXdhaXQgcGFyc2VBc3luYyhzY2hlbWEpKGluc3BlY3REZWZzKVxuXG4gICAgICBjLmJhdGNoU2l6ZSA9IGlzTmFOKGZsYWdzLmJhdGNoU2l6ZSkgPyBERUZBVUxUX0JBVENIX1NJWkUgOiBmbGFncy5iYXRjaFNpemVcblxuICAgICAgY29uc3QgZW52ID0gZGVwcy5tYWtlRW52KGZsYWdzKVxuICAgICAgaWYgKCFlbnYucHJvdmlkZXJVcmwpIHRocm93IG5ldyBFcnJvcihgcHJvdmlkZXJVcmwgaGFzIG5vdCBiZWVuIGNvbmZpZ3VyZWQgZm9yIEJhdGNoSW5zcGVjdGlvbkNvbW1hbmRgKVxuICAgICAgYy5wcm92aWRlclVybCA9IGVudi5wcm92aWRlclVybFxuXG4gICAgICAvKlxuICAgICAgY2F0ZWdvcnlUb0ZhY3RvcnkgZW5hYmxlcyB1cyB0byBsb2FkIGEgY29udHJhY3Qgb25jZSBhbmQgaGF2ZSBhbGxcbiAgICAgIGNvbW1hbmRzIGluIHRoZSBzYW1lIGNhdGVnb3J5IHNoYXJlIHRoZSBzYW1lIHJlZmVyZW5jZS4gV2UgYXNzdW1lXG4gICAgICB0aGF0IHNhbWUgY2F0ZWdvcnkgPSBzYW1lIGNvbnRyYWN0LlxuICAgICAgKi9cbiAgICAgIGMuY2F0ZWdvcnlUb0ZhY3RvcnkgPSBjb25maWdzLnJlZHVjZSgoYWNjLCBjb25maWcpID0+IHtcbiAgICAgICAgaWYgKCEhYWNjW2NvbmZpZy51eC5jYXRlZ29yeV0pIHJldHVybiBhY2NcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbY29uZmlnLnV4LmNhdGVnb3J5XTogY29uZmlnLmxvYWRDb250cmFjdCgpIH1cbiAgICAgIH0sIHt9KVxuXG4gICAgICAvKlxuICAgICAgaWRUb0NvbmZpZyBtYXBzIGEgY29tbWFuZCBJRCB0byBpdHMgY29uZmlnLCB3aGljaCBjb250YWlucyBhbGwgdGhlXG4gICAgICBob29rcyBhbmQgdmFyaWFibGVzIChlLmcuIHF1ZXJ5IGxpc3QpIHJlcXVpcmVkIHRvIHJ1biBpdFxuICAgICAgKi9cbiAgICAgIGMuaWRUb0NvbmZpZyA9IGNvbmZpZ3MucmVkdWNlKChhY2MsIGNvbmZpZykgPT4ge1xuICAgICAgICBjb25zdCBpZCA9IG1ha2VDb21tYW5kSWQoY29uZmlnLnV4LmNhdGVnb3J5LCBjb25maWcudXguZnVuY3Rpb24pXG4gICAgICAgIGlmICghIWFjY1tpZF0pIHJldHVybiBhY2NcbiAgICAgICAgcmV0dXJuIHsgLi4uYWNjLCBbaWRdOiBjb25maWcgfVxuICAgICAgfSwge30pXG4gICAgICBjb25zdCBhbGxJZHMgPSBPYmplY3Qua2V5cyhjLmlkVG9Db25maWcpXG5cbiAgICAgIC8qXG4gICAgICBXaXRoIHRoZSBoZWxwIG9mIG91ciBtYXBzLCB3ZSBjYW4gbm93IGJ1aWxkIHRoZSBsaXN0IG9mIGluc3BlY3Rpb25zLlxuICAgICAgV2UgYnVuZGxlIGFsbCB0aGUgaW5mb3JtYXRpb24gbmVlZGVkIHRvIHJ1biBlYWNoIGluc3BlY3Rpb24gaW50byBhIHNpbmdsZSBvYmplY3QuXG4gICAgICAqL1xuICAgICAgYy5pbnNwZWN0aW9ucyA9IGluc3BlY3REZWZzLm1hcCgoaW5zcGVjdERlZiwgaSkgPT4ge1xuICAgICAgICBpZiAoIWFsbElkcy5maW5kKChpZCkgPT4gaWQgPT09IGluc3BlY3REZWYuaWQpKSB7XG4gICAgICAgICAgY29uc3QgdW5yZWNvZ25pemVkID0gbmV3IFNldChcbiAgICAgICAgICAgIGluc3BlY3REZWZzXG4gICAgICAgICAgICAgIC5zbGljZShpLCBpbnNwZWN0RGVmcy5sZW5ndGgpXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGRlZikgPT4gIWFsbElkcy5maW5kKChrbm93bklkKSA9PiBrbm93bklkID09PSBkZWYuaWQpKVxuICAgICAgICAgICAgICAubWFwKChkZWYpID0+IGRlZi5pZCksXG4gICAgICAgICAgKVxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRm91bmQgdW5rbm93biBjb21tYW5kIElEczogJHtBcnJheS5mcm9tKHVucmVjb2duaXplZCkuam9pbignLCcpfWApXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29uZmlnID0gYy5pZFRvQ29uZmlnW2luc3BlY3REZWYuaWRdXG4gICAgICAgIGNvbnN0IGZhY3RvcnkgPSBjLmNhdGVnb3J5VG9GYWN0b3J5W2NvbmZpZy51eC5jYXRlZ29yeV1cbiAgICAgICAgY29uc3QgY29udHJhY3QgPSBDb250cmFjdEZhY3RvcnkuZ2V0Q29udHJhY3QoaW5zcGVjdERlZi5hZGRyZXNzLCBmYWN0b3J5LmludGVyZmFjZSlcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZDogaW5zcGVjdERlZi5pZCxcbiAgICAgICAgICBjYXRlZ29yeTogY29uZmlnLnV4LmNhdGVnb3J5LFxuICAgICAgICAgIGNvbnRyYWN0QWRkcmVzczogaW5zcGVjdERlZi5hZGRyZXNzLFxuICAgICAgICAgIGNvbnRyYWN0LFxuICAgICAgICAgIGlucHV0OiB7IGlucHV0OiBpbnNwZWN0RGVmLmlucHV0IHx8IHt9IH0sXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIHJldHVybiBjXG4gICAgfVxuXG4gICAgZXhlY3V0ZSA9IGFzeW5jICgpID0+IHtcbiAgICAgIC8qXG4gICAgICBIZXJlLCB3ZSBwdWxsIHRoZSBhY3R1YWwgY29udHJhY3QgZnVuY3Rpb25zIGFuZCBpbnB1dHMgZnJvbSBlYWNoIGluc3BlY3Rpb24uXG4gICAgICBBbnkgaW5mb3JtYXRpb24gd2UgbmVlZCB0byBydW4gY29tbWFuZCBob29rcyBpcyBhc3NlbWJsZWQgaGVyZS5cbiAgICAgICovXG4gICAgICBjb25zdCBhbGxJbnNwZWN0aW9uQ21kcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICB0aGlzLmluc3BlY3Rpb25zLm1hcChhc3luYyAoaW5zcGVjdGlvbikgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuaWRUb0NvbmZpZ1tpbnNwZWN0aW9uLmlkXVxuICAgICAgICAgIGNvbnN0IGNvbnRyYWN0SW5wdXRzID0gYXdhaXQgY29uZmlnLm1ha2VDb250cmFjdElucHV0KGluc3BlY3Rpb24uaW5wdXQpXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgIGNvbnRyYWN0OiBpbnNwZWN0aW9uLmNvbnRyYWN0LFxuICAgICAgICAgICAgY29udHJhY3RGYWN0b3J5OiB0aGlzLmNhdGVnb3J5VG9GYWN0b3J5W2NvbmZpZy51eC5jYXRlZ29yeV0sXG4gICAgICAgICAgICBjb250cmFjdEFkZHJlc3M6IGluc3BlY3Rpb24uY29udHJhY3RBZGRyZXNzLFxuICAgICAgICAgICAgZm5zOiB0eXBlb2YgY29uZmlnLnF1ZXJpZXMgPT09ICdmdW5jdGlvbicgPyBjb25maWcucXVlcmllcyhpbnNwZWN0aW9uLmlucHV0KSA6IGNvbmZpZy5xdWVyaWVzLFxuICAgICAgICAgICAgdXNlcklucHV0OiBpbnNwZWN0aW9uLmlucHV0LFxuICAgICAgICAgICAgY29udHJhY3RJbnB1dHM6IEFycmF5LmlzQXJyYXkoY29udHJhY3RJbnB1dHMpID8gY29udHJhY3RJbnB1dHMgOiBbY29udHJhY3RJbnB1dHNdLFxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApXG5cbiAgICAgIGxldCBmbnNXaXRoSW5wdXQgPSBhbGxJbnNwZWN0aW9uQ21kc1xuICAgICAgICAubWFwKChjbWQpID0+IGNtZC5mbnMubWFwKChmbiwgaSkgPT4gKHsgY29udHJhY3Q6IGNtZC5jb250cmFjdCwgZm4sIGlucHV0OiBjbWQuY29udHJhY3RJbnB1dHNbaV0gfSkpKVxuICAgICAgICAuZmxhdCgpXG5cbiAgICAgIGRlcHMubG9nZ2VyLmluZm8oYFNlbmRpbmcgJHt0aGlzLmJhdGNoU2l6ZX0gUlBDIGNhbGxzIHBlciBiYXRjaCAodXNlIC0tYmF0Y2hTaXplIHRvIGNvbmZpZ3VyZSlgKVxuICAgICAgY29uc3QgYmF0Y2hlcyA9IGNodW5rQXJyYXkoZm5zV2l0aElucHV0LCB0aGlzLmJhdGNoU2l6ZSlcblxuICAgICAgLypcbiAgICAgIFdlIG1ha2UgYSBwcm92aWRlciBmb3IgZWFjaCBiYXRjaC4gVW5kZXIgdGhlIGhvb2QsIHRoZSBldGhlcnMgYmF0Y2ggcHJvdmlkZXIgYnVpbGRzXG4gICAgICBhIGJhdGNoIHJlcXVlc3QgdW50aWwgdGhlIHByb21pc2VzIGFyZSByZXNvbHZlZCB2aWEgXCJhd2FpdFwiLiBJZiB3ZSB1c2UgYSBzaW5nbGUgcHJvdmlkZXJcbiAgICAgIGZvciBhbGwgYmF0Y2hlcywgcnVubmluZyBcImF3YWl0XCIgd291bGQgY2F1c2UgdGhlIHByb3ZpZGVyIHRvIHRyZWF0IGFsbCBiYXRjaGVzIGFzIGEgc2luZ2xlXG4gICAgICBiYXRjaCwgZXZlbiBpZiBpdCBzZWVtcyBsaWtlIHdlIGFyZSBzZXBhcmF0aW5nIHRoZW0uIFRoaXMgd291bGQgb3ZlcmxvYWQgdGhlIFJQQ3MgYW5kIHRoZXkgXG4gICAgICB3b3VsZCB0aHJvdyBhbiBlcnJvci5cbiAgICAgICovXG4gICAgICBjb25zdCByZXN1bHRzID0gKFxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICBiYXRjaGVzLm1hcCgoYmF0Y2gpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IEVWTUJhdGNoUHJvdmlkZXIodGhpcy5wcm92aWRlclVybClcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChcbiAgICAgICAgICAgICAgYmF0Y2gubWFwKChxdWVyeSkgPT4gcXVlcnkuY29udHJhY3QuY29ubmVjdChwcm92aWRlci5wcm92aWRlcilbcXVlcnkuZm5dKC4uLnF1ZXJ5LmlucHV0KSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICAgICkuZmxhdCgpXG5cbiAgICAgIC8qXG4gICAgICBDdXJyZW50bHksIHdlIHJ1biBtYWtlQ29tcGFyaXNvbkRhdGEgZm9yIGVhY2ggaW5zcGVjdGlvbiBjb21tYW5kLiBTb21lXG4gICAgICBjb21tYW5kcyBtYXkgZGVmaW5lIGV2ZW50IHF1ZXJpZXMgb3IgYWRkaXRpb25hbCBSUEMgY2FsbHMgaGVyZS5cbiAgICAgICovXG4gICAgICBsZXQgc3RhcnQgPSAwXG4gICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBFVk1CYXRjaFByb3ZpZGVyKHRoaXMucHJvdmlkZXJVcmwpXG4gICAgICBsZXQgcHJvbWlzZXMgPSBhbGxJbnNwZWN0aW9uQ21kcy5tYXAoKGNtZCkgPT4ge1xuICAgICAgICBjb25zdCBwcm9taXNlID0gY21kLmNvbmZpZy5tYWtlQ29tcGFyaXNpb25EYXRhKHByb3ZpZGVyKShcbiAgICAgICAgICByZXN1bHRzLnNsaWNlKHN0YXJ0LCBzdGFydCArIGNtZC5mbnMubGVuZ3RoKSxcbiAgICAgICAgICBjbWQudXNlcklucHV0LFxuICAgICAgICAgIGNtZC5jb250cmFjdEFkZHJlc3MsXG4gICAgICAgICAgY21kLmNvbnRyYWN0RmFjdG9yeSxcbiAgICAgICAgKVxuICAgICAgICBzdGFydCArPSBjbWQuZm5zLmxlbmd0aFxuICAgICAgICByZXR1cm4gcHJvbWlzZVxuICAgICAgfSlcblxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuXG4gICAgICBjb25zdCBpbnNwZWN0aW9uUmVzdWx0cyA9IGFsbEluc3BlY3Rpb25DbWRzLm1hcCgoY21kLCBpKSA9PiB7XG4gICAgICAgIHJldHVybiBjbWQuY29uZmlnLmluc3BlY3QgPyBjbWQuY29uZmlnLmluc3BlY3QoY21kLnVzZXJJbnB1dCwgZGF0YVtpXSkgOiBbXVxuICAgICAgfSlcblxuICAgICAgZGVwcy5sb2dnZXIuaW5mbygnSW5zcGVjdGlvbiBSZXN1bHRzOicpXG4gICAgICBkZXBzLmxvZ2dlci5sb2coZGF0YSlcblxuICAgICAgY29uc3QgcmVwb3J0ID0ge1xuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgZGF0YTogZGF0YS5tYXAoKGRhdHVtLCBpKSA9PiAoe1xuICAgICAgICAgICAgZGF0YTogZGF0dW0sXG4gICAgICAgICAgICBjb250cmFjdDogYWxsSW5zcGVjdGlvbkNtZHNbaV0uY29udHJhY3RBZGRyZXNzLFxuICAgICAgICAgICAgaW5zcGVjdGlvbjogaW5zcGVjdGlvblJlc3VsdHNbaV0sXG4gICAgICAgICAgfSkpLFxuICAgICAgICAgIGNvbnRyYWN0OiAnbi9hJyxcbiAgICAgICAgICBpbnNwZWN0aW9uOiBbXSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzcG9uc2VzOiBbXSxcbiAgICAgIH1cblxuICAgICAgaWYgKGRlcHMuYWZ0ZXJFeGVjdXRlRXh0ZXJuYWwpIGF3YWl0IGRlcHMuYWZ0ZXJFeGVjdXRlRXh0ZXJuYWwoaWQsIHRoaXMuZmxhZ3MubmV0d29yaywgcmVwb3J0KVxuXG4gICAgICByZXR1cm4gcmVwb3J0XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbW1hbmRcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hJbnNwZWN0aW9uQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ldm0vY29tbWFuZHMvbmF0aXZlL2JhdGNoSW5zcGVjdGlvbkNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdHQUE4RTtBQUM5RSx3Q0FBMEQ7QUFFMUQsbUNBQWtEO0FBR2xELDZCQUF1QjtBQUN2QiwwQ0FBcUQ7QUFDckQsNkNBQStEO0FBSS9ELFNBQVMsVUFBVSxDQUFJLEtBQVUsRUFBRSxTQUFTO0lBQzFDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUNqQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFO1FBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUE7S0FDM0M7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFFRCxNQUFNLE1BQU0sR0FBRyxPQUFDO0tBQ2IsTUFBTSxDQUFDO0lBQ04sRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZCxPQUFPLEVBQUUsZ0JBQVE7SUFDakIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0NBQ3BCLENBQUM7S0FDRCxLQUFLLEVBQUUsQ0FBQTtBQUlWLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFBO0FBYXZCLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxRQUFnQixFQUFFLE9BQXdDLEVBQUUsRUFBRSxDQUFDLENBQzNHLElBQXFCLEVBQ3JCLEVBQUU7O0lBQ0YsTUFBTSxFQUFFLEdBQUcsR0FBRyxRQUFRLGdCQUFnQixDQUFBO0lBRXRDLE1BQU0sT0FBTyxTQUFnRCxNQUFNLHNCQUNqRSxTQUFRLGNBQVc7WUFEd0M7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QU0sR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtnQkFDMUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUE7Z0JBQ3ZELE1BQU0sUUFBUSxHQUFHLHdCQUFlLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO2dCQUNuRixPQUFPO29CQUNMLEVBQUUsRUFBRSxVQUFVLENBQUMsRUFBRTtvQkFDakIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsUUFBUTtvQkFDNUIsZUFBZSxFQUFFLFVBQVUsQ0FBQyxPQUFPO29CQUNuQyxRQUFRO29CQUNSLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRTtpQkFDekMsQ0FBQTtZQUNILENBQUMsQ0FBQyxDQUFBO1lBRUYsT0FBTyxDQUFDLENBQUE7UUFDVixDQUFDO1dBeUdGLENBQUE7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDLENBQUE7QUFqTlksUUFBQSw2QkFBNkIsaUNBaU56QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tbWFuZCBmcm9tICdAY2hhaW5saW5rL2dhdW50bGV0LWNvcmUvZGlzdC9jb21tYW5kcy9pbnRlcm5hbC9iYXNlJ1xuaW1wb3J0IHsgQ29tbWFuZEN0b3IsIG1ha2VDb21tYW5kSWQgfSBmcm9tICcuLi8uLi8uLi9jb3JlJ1xuaW1wb3J0IHsgSW5zcGVjdFVzZXJJbnB1dCwgSW5zcGVjdGlvblJlcG9ydCB9IGZyb20gJy4uLy4uLy4uL2NvcmUvY29tbWFuZHMvYmFzZS9pbnNwZWN0aW9uQ29tbWFuZCdcbmltcG9ydCB7IENvbnRyYWN0LCBDb250cmFjdEZhY3RvcnkgfSBmcm9tICdldGhlcnMnXG5pbXBvcnQgeyBFVk1JbnNwZWN0aW9uQ29tbWFuZENvbmZpZyB9IGZyb20gJy4uJ1xuaW1wb3J0IHsgRVZNRGVwZW5kZW5jaWVzIH0gZnJvbSAnLi4vLi4vZGVwZW5kZW5jaWVzJ1xuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCdcbmltcG9ydCB7IHBhcnNlQXN5bmMsIHpBZGRyZXNzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBFVk1CYXRjaFByb3ZpZGVyLCBtYWtlUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9wcm92aWRlcidcblxudHlwZSBFVk1JbnNwZWN0aW9uQ29tbWFuZENvbmZpZ0FueSA9IEVWTUluc3BlY3Rpb25Db21tYW5kQ29uZmlnPGFueSwgYW55LCBhbnksIGFueT5cblxuZnVuY3Rpb24gY2h1bmtBcnJheTxUPihhcnJheTogVFtdLCBjaHVua1NpemUpOiBUW11bXSB7XG4gIGNvbnN0IHJlc3VsdCA9IFtdXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJyYXkubGVuZ3RoOyBpICs9IGNodW5rU2l6ZSkge1xuICAgIHJlc3VsdC5wdXNoKGFycmF5LnNsaWNlKGksIGkgKyBjaHVua1NpemUpKVxuICB9XG4gIHJldHVybiByZXN1bHRcbn1cblxuY29uc3Qgc2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBpZDogei5zdHJpbmcoKSxcbiAgICBhZGRyZXNzOiB6QWRkcmVzcyxcbiAgICBpbnB1dDogei5vYmplY3Qoe30pLFxuICB9KVxuICAuYXJyYXkoKVxuXG50eXBlIElucHV0ID0gei5pbmZlcjx0eXBlb2Ygc2NoZW1hPlxuXG5jb25zdCBERUZBVUxUX0JBVENIX1NJWkUgPSA1MDBcblxuLypcblRoZSBkYXRhIGZpZWxkIG9mIHRoZSBFVk1CYXRjaEluc3BlY3Rpb25SZXBvcnQgaXMganVzdCBhbiBhcnJheSBvZiByZWd1bGFyIGluc3BlY3Rpb24gcmVwb3J0cy5cblRoZSB0b3AgbGV2ZWwgXCJjb250cmFjdFwiIGFuZCBcImluc3BlY3Rpb25cIiBmaWVsZHMgYXJlIG5vdCB1c2VkLiBUaGV5IGFyZSBqdXN0IHByZXNlbnQgdG8gbWVldFxudGhlIGludGVyZmFjZS5cbiovXG5leHBvcnQgaW50ZXJmYWNlIEVWTUJhdGNoSW5zcGVjdGlvblJlcG9ydCBleHRlbmRzIEluc3BlY3Rpb25SZXBvcnQ8SW5zcGVjdGlvblJlcG9ydDxhbnk+W10+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRVZNQmF0Y2hJbnNwZWN0Q29tbWFuZEluc3RhbmNlIHtcbiAgZXhlY3V0ZTogKCkgPT4gUHJvbWlzZTx7IGRhdGE6IEVWTUJhdGNoSW5zcGVjdGlvblJlcG9ydDsgcmVzcG9uc2VzOiBhbnlbXSB9PlxufVxuXG5leHBvcnQgY29uc3QgbWFrZUVWTUJhdGNoSW5zcGVjdGlvbkNvbW1hbmQgPSAoY2F0ZWdvcnk6IHN0cmluZywgY29uZmlnczogRVZNSW5zcGVjdGlvbkNvbW1hbmRDb25maWdBbnlbXSkgPT4gKFxuICBkZXBzOiBFVk1EZXBlbmRlbmNpZXMsXG4pID0+IHtcbiAgY29uc3QgaWQgPSBgJHtjYXRlZ29yeX06aW5zcGVjdDpiYXRjaGBcblxuICBjb25zdCBjb21tYW5kOiBDb21tYW5kQ3RvcjxFVk1CYXRjaEluc3BlY3RDb21tYW5kSW5zdGFuY2U+ID0gY2xhc3MgQmF0Y2hJbnNwZWN0aW9uQ29tbWFuZFxuICAgIGV4dGVuZHMgQmFzZUNvbW1hbmRcbiAgICBpbXBsZW1lbnRzIEVWTUJhdGNoSW5zcGVjdENvbW1hbmRJbnN0YW5jZSB7XG4gICAgLy8gUHJvcHNcbiAgICBiYXRjaFNpemU6IG51bWJlclxuICAgIHByb3ZpZGVyVXJsOiBzdHJpbmdcbiAgICBjYXRlZ29yeVRvRmFjdG9yeTogeyBbaWQ6IHN0cmluZ106IENvbnRyYWN0RmFjdG9yeSB9XG4gICAgaWRUb0NvbmZpZzogeyBbaWQ6IHN0cmluZ106IEVWTUluc3BlY3Rpb25Db21tYW5kQ29uZmlnQW55IH1cbiAgICBpbnNwZWN0aW9uczoge1xuICAgICAgaWQ6IHN0cmluZ1xuICAgICAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmdcbiAgICAgIGNvbnRyYWN0OiBDb250cmFjdFxuICAgICAgaW5wdXQ6IEluc3BlY3RVc2VySW5wdXQ8YW55LCBhbnk+XG4gICAgfVtdXG4gICAgZW52OiBhbnlcblxuICAgIC8vIFVYXG4gICAgc3RhdGljIGlkID0gaWRcbiAgICBzdGF0aWMgY2F0ZWdvcnkgPSBjYXRlZ29yeVxuICAgIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICAgIGAke2lkfSAtLW5ldHdvcms9PE5FVFdPUks+ICgtLWJhdGNoU2l6ZT08QkFUQ0hfU0laRT4pICdbXG4gIHtcbiAgICBcImlkXCI6IFwiPENPTU1BTkRfSURfMVwiLFxuICAgIFwiYWRkcmVzc1wiOiBcIjB4Li4uXCIsXG4gICAgXCJpbnB1dFwiOiB7IC4uLiB9XG4gIH0sXG4gIHtcbiAgICBcImlkXCI6IFwiPENPTU1BTkRfSURfMj5cIn0sXG4gICAgXCJhZGRyZXNzXCI6IFwiMHguLi5cIixcbiAgICBcImlucHV0XCI6IHsgLi4uIH1cbiAgfSBcbiAgLi4uXG5dJ2AsXG4gICAgXVxuXG4gICAgc3RhdGljIGNyZWF0ZSA9IGFzeW5jIChmbGFncywgYXJncykgPT4ge1xuICAgICAgY29uc3QgYyA9IG5ldyBCYXRjaEluc3BlY3Rpb25Db21tYW5kKGZsYWdzLCBhcmdzKVxuXG4gICAgICBjb25zdCBpbnNwZWN0RGVmcyA9IEpTT04ucGFyc2UoYXJnc1swXSkgYXMgSW5wdXRcbiAgICAgIGF3YWl0IHBhcnNlQXN5bmMoc2NoZW1hKShpbnNwZWN0RGVmcylcblxuICAgICAgYy5iYXRjaFNpemUgPSBpc05hTihmbGFncy5iYXRjaFNpemUpID8gREVGQVVMVF9CQVRDSF9TSVpFIDogZmxhZ3MuYmF0Y2hTaXplXG5cbiAgICAgIGNvbnN0IGVudiA9IGRlcHMubWFrZUVudihmbGFncylcbiAgICAgIGlmICghZW52LnByb3ZpZGVyVXJsKSB0aHJvdyBuZXcgRXJyb3IoYHByb3ZpZGVyVXJsIGhhcyBub3QgYmVlbiBjb25maWd1cmVkIGZvciBCYXRjaEluc3BlY3Rpb25Db21tYW5kYClcbiAgICAgIGMucHJvdmlkZXJVcmwgPSBlbnYucHJvdmlkZXJVcmxcbiAgICAgIGMuZW52ID0gZW52XG5cbiAgICAgIC8qXG4gICAgICBjYXRlZ29yeVRvRmFjdG9yeSBlbmFibGVzIHVzIHRvIGxvYWQgYSBjb250cmFjdCBvbmNlIGFuZCBoYXZlIGFsbFxuICAgICAgY29tbWFuZHMgaW4gdGhlIHNhbWUgY2F0ZWdvcnkgc2hhcmUgdGhlIHNhbWUgcmVmZXJlbmNlLiBXZSBhc3N1bWVcbiAgICAgIHRoYXQgc2FtZSBjYXRlZ29yeSA9IHNhbWUgY29udHJhY3QuXG4gICAgICAqL1xuICAgICAgYy5jYXRlZ29yeVRvRmFjdG9yeSA9IGNvbmZpZ3MucmVkdWNlKChhY2MsIGNvbmZpZykgPT4ge1xuICAgICAgICBpZiAoISFhY2NbY29uZmlnLnV4LmNhdGVnb3J5XSkgcmV0dXJuIGFjY1xuICAgICAgICByZXR1cm4geyAuLi5hY2MsIFtjb25maWcudXguY2F0ZWdvcnldOiBjb25maWcubG9hZENvbnRyYWN0KCkgfVxuICAgICAgfSwge30pXG5cbiAgICAgIC8qXG4gICAgICBpZFRvQ29uZmlnIG1hcHMgYSBjb21tYW5kIElEIHRvIGl0cyBjb25maWcsIHdoaWNoIGNvbnRhaW5zIGFsbCB0aGVcbiAgICAgIGhvb2tzIGFuZCB2YXJpYWJsZXMgKGUuZy4gcXVlcnkgbGlzdCkgcmVxdWlyZWQgdG8gcnVuIGl0XG4gICAgICAqL1xuICAgICAgYy5pZFRvQ29uZmlnID0gY29uZmlncy5yZWR1Y2UoKGFjYywgY29uZmlnKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gbWFrZUNvbW1hbmRJZChjb25maWcudXguY2F0ZWdvcnksIGNvbmZpZy51eC5mdW5jdGlvbilcbiAgICAgICAgaWYgKCEhYWNjW2lkXSkgcmV0dXJuIGFjY1xuICAgICAgICByZXR1cm4geyAuLi5hY2MsIFtpZF06IGNvbmZpZyB9XG4gICAgICB9LCB7fSlcbiAgICAgIGNvbnN0IGFsbElkcyA9IE9iamVjdC5rZXlzKGMuaWRUb0NvbmZpZylcblxuICAgICAgLypcbiAgICAgIFdpdGggdGhlIGhlbHAgb2Ygb3VyIG1hcHMsIHdlIGNhbiBub3cgYnVpbGQgdGhlIGxpc3Qgb2YgaW5zcGVjdGlvbnMuXG4gICAgICBXZSBidW5kbGUgYWxsIHRoZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gcnVuIGVhY2ggaW5zcGVjdGlvbiBpbnRvIGEgc2luZ2xlIG9iamVjdC5cbiAgICAgICovXG4gICAgICBjLmluc3BlY3Rpb25zID0gaW5zcGVjdERlZnMubWFwKChpbnNwZWN0RGVmLCBpKSA9PiB7XG4gICAgICAgIGlmICghYWxsSWRzLmZpbmQoKGlkKSA9PiBpZCA9PT0gaW5zcGVjdERlZi5pZCkpIHtcbiAgICAgICAgICBjb25zdCB1bnJlY29nbml6ZWQgPSBuZXcgU2V0KFxuICAgICAgICAgICAgaW5zcGVjdERlZnNcbiAgICAgICAgICAgICAgLnNsaWNlKGksIGluc3BlY3REZWZzLmxlbmd0aClcbiAgICAgICAgICAgICAgLmZpbHRlcigoZGVmKSA9PiAhYWxsSWRzLmZpbmQoKGtub3duSWQpID0+IGtub3duSWQgPT09IGRlZi5pZCkpXG4gICAgICAgICAgICAgIC5tYXAoKGRlZikgPT4gZGVmLmlkKSxcbiAgICAgICAgICApXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGb3VuZCB1bmtub3duIGNvbW1hbmQgSURzOiAke0FycmF5LmZyb20odW5yZWNvZ25pemVkKS5qb2luKCcsJyl9YClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb25maWcgPSBjLmlkVG9Db25maWdbaW5zcGVjdERlZi5pZF1cbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IGMuY2F0ZWdvcnlUb0ZhY3RvcnlbY29uZmlnLnV4LmNhdGVnb3J5XVxuICAgICAgICBjb25zdCBjb250cmFjdCA9IENvbnRyYWN0RmFjdG9yeS5nZXRDb250cmFjdChpbnNwZWN0RGVmLmFkZHJlc3MsIGZhY3RvcnkuaW50ZXJmYWNlKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlkOiBpbnNwZWN0RGVmLmlkLFxuICAgICAgICAgIGNhdGVnb3J5OiBjb25maWcudXguY2F0ZWdvcnksXG4gICAgICAgICAgY29udHJhY3RBZGRyZXNzOiBpbnNwZWN0RGVmLmFkZHJlc3MsXG4gICAgICAgICAgY29udHJhY3QsXG4gICAgICAgICAgaW5wdXQ6IHsgaW5wdXQ6IGluc3BlY3REZWYuaW5wdXQgfHwge30gfSxcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgcmV0dXJuIGNcbiAgICB9XG5cbiAgICBleGVjdXRlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgLypcbiAgICAgIEhlcmUsIHdlIHB1bGwgdGhlIGFjdHVhbCBjb250cmFjdCBmdW5jdGlvbnMgYW5kIGlucHV0cyBmcm9tIGVhY2ggaW5zcGVjdGlvbi5cbiAgICAgIEFueSBpbmZvcm1hdGlvbiB3ZSBuZWVkIHRvIHJ1biBjb21tYW5kIGhvb2tzIGlzIGFzc2VtYmxlZCBoZXJlLlxuICAgICAgKi9cbiAgICAgIGNvbnN0IGFsbEluc3BlY3Rpb25DbWRzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgIHRoaXMuaW5zcGVjdGlvbnMubWFwKGFzeW5jIChpbnNwZWN0aW9uKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXNlcklucHV0ID0gaW5zcGVjdGlvbi5pbnB1dC5pbnB1dFxuICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuaWRUb0NvbmZpZ1tpbnNwZWN0aW9uLmlkXVxuICAgICAgICAgIGNvbnN0IGNvbnRyYWN0SW5wdXRzID0gYXdhaXQgY29uZmlnLm1ha2VDb250cmFjdElucHV0KHVzZXJJbnB1dClcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgY29udHJhY3Q6IGluc3BlY3Rpb24uY29udHJhY3QsXG4gICAgICAgICAgICBjb250cmFjdEZhY3Rvcnk6IHRoaXMuY2F0ZWdvcnlUb0ZhY3RvcnlbY29uZmlnLnV4LmNhdGVnb3J5XSxcbiAgICAgICAgICAgIGNvbnRyYWN0QWRkcmVzczogaW5zcGVjdGlvbi5jb250cmFjdEFkZHJlc3MsXG4gICAgICAgICAgICBmbnM6IHR5cGVvZiBjb25maWcucXVlcmllcyA9PT0gJ2Z1bmN0aW9uJyA/IGNvbmZpZy5xdWVyaWVzKHVzZXJJbnB1dCkgOiBjb25maWcucXVlcmllcyxcbiAgICAgICAgICAgIHVzZXJJbnB1dCxcbiAgICAgICAgICAgIGNvbnRyYWN0SW5wdXRzOiBBcnJheS5pc0FycmF5KGNvbnRyYWN0SW5wdXRzKSA/IGNvbnRyYWN0SW5wdXRzIDogW2NvbnRyYWN0SW5wdXRzXSxcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKVxuXG4gICAgICBsZXQgZm5zV2l0aElucHV0ID0gYWxsSW5zcGVjdGlvbkNtZHNcbiAgICAgICAgLm1hcCgoY21kKSA9PiBjbWQuZm5zLm1hcCgoZm4sIGkpID0+ICh7IGNvbnRyYWN0OiBjbWQuY29udHJhY3QsIGZuLCBpbnB1dDogY21kLmNvbnRyYWN0SW5wdXRzW2ldIH0pKSlcbiAgICAgICAgLmZsYXQoKVxuXG4gICAgICBkZXBzLmxvZ2dlci5pbmZvKGBTZW5kaW5nICR7dGhpcy5iYXRjaFNpemV9IFJQQyBjYWxscyBwZXIgYmF0Y2ggKHVzZSAtLWJhdGNoU2l6ZSB0byBjb25maWd1cmUpYClcbiAgICAgIGNvbnN0IGJhdGNoZXMgPSBjaHVua0FycmF5KGZuc1dpdGhJbnB1dCwgdGhpcy5iYXRjaFNpemUpXG5cbiAgICAgIC8qXG4gICAgICBXZSBtYWtlIGEgcHJvdmlkZXIgZm9yIGVhY2ggYmF0Y2guIFVuZGVyIHRoZSBob29kLCB0aGUgZXRoZXJzIGJhdGNoIHByb3ZpZGVyIGJ1aWxkc1xuICAgICAgYSBiYXRjaCByZXF1ZXN0IHVudGlsIHRoZSBwcm9taXNlcyBhcmUgcmVzb2x2ZWQgdmlhIFwiYXdhaXRcIi4gSWYgd2UgdXNlIGEgc2luZ2xlIHByb3ZpZGVyXG4gICAgICBmb3IgYWxsIGJhdGNoZXMsIHJ1bm5pbmcgXCJhd2FpdFwiIHdvdWxkIGNhdXNlIHRoZSBwcm92aWRlciB0byB0cmVhdCBhbGwgYmF0Y2hlcyBhcyBhIHNpbmdsZVxuICAgICAgYmF0Y2gsIGV2ZW4gaWYgaXQgc2VlbXMgbGlrZSB3ZSBhcmUgc2VwYXJhdGluZyB0aGVtLiBUaGlzIHdvdWxkIG92ZXJsb2FkIHRoZSBSUENzIGFuZCB0aGV5IFxuICAgICAgd291bGQgdGhyb3cgYW4gZXJyb3IuXG4gICAgICAqL1xuICAgICAgY29uc3QgcmVzdWx0cyA9IChcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgYmF0Y2hlcy5tYXAoKGJhdGNoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBFVk1CYXRjaFByb3ZpZGVyKHRoaXMucHJvdmlkZXJVcmwpXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICAgIGJhdGNoLm1hcCgocXVlcnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmZXRjaCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhd2FpdCBxdWVyeS5jb250cmFjdC5jb25uZWN0KHByb3ZpZGVyLnByb3ZpZGVyKVtxdWVyeS5mbl0oLi4ucXVlcnkuaW5wdXQpXG4gICAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIERvbid0IGZhaWwgb3V0IGlmIG9uZSBxdWVyeSBmYWlsc1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyEhRVJST1IhISdcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZmV0Y2goKVxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgKS5mbGF0KClcblxuICAgICAgLypcbiAgICAgIEN1cnJlbnRseSwgd2UgcnVuIG1ha2VDb21wYXJpc29uRGF0YSBmb3IgZWFjaCBpbnNwZWN0aW9uIGNvbW1hbmQuIFNvbWVcbiAgICAgIGNvbW1hbmRzIG1heSBkZWZpbmUgZXZlbnQgcXVlcmllcyBvciBhZGRpdGlvbmFsIFJQQyBjYWxscyBoZXJlLlxuICAgICAgKi9cbiAgICAgIGxldCBzdGFydCA9IDBcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IEVWTUJhdGNoUHJvdmlkZXIodGhpcy5wcm92aWRlclVybClcbiAgICAgIGxldCBwcm9taXNlcyA9IGFsbEluc3BlY3Rpb25DbWRzLm1hcCgoY21kKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSBjbWQuY29uZmlnLm1ha2VDb21wYXJpc2lvbkRhdGEocHJvdmlkZXIsIHtcbiAgICAgICAgICBpZDogbWFrZUNvbW1hbmRJZChjbWQuY29uZmlnLnV4LmNhdGVnb3J5LCBjbWQuY29uZmlnLnV4LmZ1bmN0aW9uKSxcbiAgICAgICAgICBjb250cmFjdEFkZHJlc3M6IGNtZC5jb250cmFjdEFkZHJlc3MsXG4gICAgICAgICAgcHJvdmlkZXIsXG4gICAgICAgICAgZmxhZ3M6IHRoaXMuZmxhZ3MsXG4gICAgICAgICAgZW52OiB0aGlzLmVudixcbiAgICAgICAgICBjb250cmFjdDogY21kLmNvbnRyYWN0RmFjdG9yeSxcbiAgICAgICAgfSkocmVzdWx0cy5zbGljZShzdGFydCwgc3RhcnQgKyBjbWQuZm5zLmxlbmd0aCksIGNtZC51c2VySW5wdXQsIGNtZC5jb250cmFjdEFkZHJlc3MsIGNtZC5jb250cmFjdEZhY3RvcnkpXG4gICAgICAgIHN0YXJ0ICs9IGNtZC5mbnMubGVuZ3RoXG4gICAgICAgIHJldHVybiBwcm9taXNlXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG5cbiAgICAgIGNvbnN0IGluc3BlY3Rpb25SZXN1bHRzID0gYWxsSW5zcGVjdGlvbkNtZHMubWFwKChjbWQsIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIGNtZC5jb25maWcuaW5zcGVjdCA/IGNtZC5jb25maWcuaW5zcGVjdChjbWQudXNlcklucHV0LCBkYXRhW2ldKSA6IFtdXG4gICAgICB9KVxuXG4gICAgICBkZXBzLmxvZ2dlci5pbmZvKCdJbnNwZWN0aW9uIFJlc3VsdHM6JylcbiAgICAgIGRlcHMubG9nZ2VyLmxvZyhkYXRhKVxuXG4gICAgICBjb25zdCByZXBvcnQgPSB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBkYXRhOiBkYXRhLm1hcCgoZGF0dW0sIGkpID0+ICh7XG4gICAgICAgICAgICBkYXRhOiBkYXR1bSxcbiAgICAgICAgICAgIGNvbnRyYWN0OiBhbGxJbnNwZWN0aW9uQ21kc1tpXS5jb250cmFjdEFkZHJlc3MsXG4gICAgICAgICAgICBpbnNwZWN0aW9uOiBpbnNwZWN0aW9uUmVzdWx0c1tpXSxcbiAgICAgICAgICB9KSksXG4gICAgICAgICAgY29udHJhY3Q6ICduL2EnLFxuICAgICAgICAgIGluc3BlY3Rpb246IFtdLFxuICAgICAgICB9LFxuICAgICAgICByZXNwb25zZXM6IFtdLFxuICAgICAgfVxuXG4gICAgICBpZiAoZGVwcy5hZnRlckV4ZWN1dGVFeHRlcm5hbCkgYXdhaXQgZGVwcy5hZnRlckV4ZWN1dGVFeHRlcm5hbChpZCwgdGhpcy5mbGFncy5uZXR3b3JrLCByZXBvcnQpXG5cbiAgICAgIHJldHVybiByZXBvcnRcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29tbWFuZFxufVxuIl19

2

package.json
{
"name": "@chainlink/evm-gauntlet",
"version": "0.0.0-develop-20240227131954",
"version": "0.0.0-develop-20240227204925",
"description": "Gauntlet EVM",

@@ -5,0 +5,0 @@ "keywords": [

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc