Socket
Socket
Sign inDemoInstall

@chainlink/evm-gauntlet

Package Overview
Dependencies
Maintainers
47
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.1.0 to 0.2.0

4

dist/core/commands/base/executeCommand.d.ts

@@ -14,5 +14,5 @@ import { CommandCtor } from '.';

}
declare type MakeMessage<CI, Contract, Provider, Message> = (contract: Contract, provider: Provider, input: CI, action: string, contractAddress: string, isDeployment?: boolean) => Promise<Message[]>;
export declare const makeExecuteCommand: <UI, CI, Message, Contract, Provider, Transaction, Wallet>(makeMessage: MakeMessage<CI, Contract, Provider, Message>) => (config: ExecuteCommandConfig<UI, CI, Transaction, ExecutionContext<Wallet, Provider, Contract, Message, Transaction>, Contract>) => (deps: Dependencies<Provider, Contract, Message, Transaction, Wallet, BasicEnv>) => CommandCtor<ExecuteCommandInstance<UI, CI, Provider, Contract, Message, Transaction, Wallet, ExecutionContext<Wallet, Provider, Contract, Message, Transaction>>>;
declare type MakeMessage<CI, Contract, Provider, Message> = (contract: Contract, provider: Provider, input: CI, action: string, contractAddress: string, isDeployment?: boolean) => () => Promise<Message[]>;
export declare const makeExecuteCommand: <UI, CI, Message, Contract, Provider, Transaction, Wallet>(registerMakeMessage: MakeMessage<CI, Contract, Provider, Message>) => (config: ExecuteCommandConfig<UI, CI, Transaction, ExecutionContext<Wallet, Provider, Contract, Message, Transaction>, Contract>) => (deps: Dependencies<Provider, Contract, Message, Transaction, Wallet, BasicEnv>) => CommandCtor<ExecuteCommandInstance<UI, CI, Provider, Contract, Message, Transaction, Wallet, ExecutionContext<Wallet, Provider, Contract, Message, Transaction>>>;
export {};
//# sourceMappingURL=executeCommand.d.ts.map

@@ -6,3 +6,3 @@ "use strict";

const command_1 = require("./command");
const makeExecuteCommand = (makeMessage) => (config) => (deps) => {
const makeExecuteCommand = (registerMakeMessage) => (config) => (deps) => {
var _a;

@@ -26,3 +26,3 @@ const id = (0, command_1.makeCommandId)(config.category, config.action, config.suffixes);

this.defaultAfterExecute = () => async (response) => {
deps.logger.info(`Execution finished at transaction: ${response.responses[0].tx.hash}`);
deps.logger.success(`Execution finished at transaction: ${response.responses[0].tx.hash}`);
};

@@ -63,3 +63,3 @@ this.runValidations = async (validations, input) => {

this.executeWithSigner = async () => {
const messages = await this.makeMessage(this.contract, this.provider.provider, this.input.contract, config.internalFunction || config.action, this.contractAddress, false);
const messages = await this.makeMessage();
await deps.prompt(`Continue?`);

@@ -78,6 +78,6 @@ deps.logger.loading(`Signing and sending transaction...`);

this.execute = async () => {
const signer = await this.wallet.getPublicKey();
deps.logger.info(`Operator address: ${signer}`);
await this.beforeExecute();
const messages = await this.makeMessage(this.contract, this.provider.provider, this.input.contract, config.internalFunction || config.action, this.contractAddress, config.action === 'deploy');
const messages = await this.makeMessage();
// If the user decides to export the transaction data, we can generate and return the
// transaction information without signing and sending
if (this.flags.export) {

@@ -92,2 +92,6 @@ deps.logger.info('The export option was enabled. Transaction request information returned in report');

}
else {
const signer = await this.wallet.getPublicKey();
deps.logger.info(`Operator address: ${signer}`);
}
await deps.prompt('Continue?');

@@ -97,9 +101,12 @@ deps.logger.loading(`Sending transaction...`);

deps.logger.loading(`Waiting for tx confirmation at ${tx.hash}...`);
const response = await tx.wait();
if (!response.success) {
const isDeployment = config.action === 'deploy';
const out = await tx.wait();
if (isDeployment && out.success) {
deps.logger.success(`Contract deployed on ${tx.hash} with address ${tx.address}`);
}
if (isDeployment && !out.success) {
// Don't think this case should ever occur
// the command should error out before entering this if statement
deps.logger.error(`Contract was not deployed: ${tx.errorMessage}`);
}
else {
deps.logger.success(`Contract deployed on ${tx.hash} with address ${tx.address}`);
}
let result = {

@@ -131,3 +138,4 @@ responses: [

c.contract = config.loadContract();
c.makeMessage = makeMessage;
c.input = await c.buildCommandInput(flags, args, env);
c.makeMessage = registerMakeMessage(c.contract, c.provider.provider, c.input.contract, config.internalFunction || config.action, c.contractAddress, config.action === 'deploy');
c.executionContext = {

@@ -141,3 +149,2 @@ provider: c.provider,

};
c.input = await c.buildCommandInput(flags, args, env);
c.beforeExecute = config.hooks?.beforeExecute

@@ -155,2 +162,2 @@ ? config.hooks.beforeExecute(c.executionContext, c.input, { logger: deps.logger, prompt: deps.prompt })

exports.makeExecuteCommand = makeExecuteCommand;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZUNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9jb21tYW5kcy9iYXNlL2V4ZWN1dGVDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUErRDtBQU0vRCx1Q0FBNEQ7QUFxQnJELE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsV0FBeUQsRUFDekQsRUFBRSxDQUFDLENBQ0gsTUFNQyxFQUNELEVBQUUsQ0FBQyxDQUFDLElBQThFLEVBQUUsRUFBRTs7SUFDdEYsTUFBTSxFQUFFLEdBQUcsSUFBQSx1QkFBYSxFQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7SUFFekUsTUFBTSxPQUFPLFNBU1IsTUFBTSxjQUFlLFNBQVEsNEJBQThDO1lBbUI5RSxZQUFZLEtBQUssRUFBRSxJQUFJO2dCQUNyQixLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQXNDcEIsa0JBQWEsR0FBRyxDQUFDLE9BQWUsRUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFBO2dCQUUvRSx5QkFBb0IsR0FBRyxDQUNyQixPQUEyRSxFQUMzRSxLQUFvQixFQUNwQixFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUU7b0JBQ2QsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO3dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwQkFBMEIsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7cUJBQzdEO29CQUNELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUU7d0JBQzlCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLG9CQUFvQixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsb0JB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Q0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBRXZELENBQUMsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxZQUFZO2dCQUN6QyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN0RyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLENBQUE7WUFFM0IsT0FBTyxDQUFDLENBQUE7UUFDVixDQUFDO1dBaUpGLENBQUE7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDLENBQUE7QUFsT1ksUUFBQSxrQkFBa0Isc0JBa085QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3VsdCwgV3JpdGVDb21tYW5kIH0gZnJvbSAnQGNoYWlubGluay9nYXVudGxldC1jb3JlJ1xuaW1wb3J0IHsgQ29tbWFuZEN0b3IgfSBmcm9tICcuJ1xuaW1wb3J0IHsgRGVwZW5kZW5jaWVzLCBCYXNpY0VudiB9IGZyb20gJy4uLy4uL2RlcGVuZGVuY2llcydcbmltcG9ydCB7IElQcm92aWRlciB9IGZyb20gJy4uLy4uL3Byb3ZpZGVyJ1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uLy4uL3dhbGxldCdcbmltcG9ydCB7IG1ha2VDb21tYW5kSWQsIFZhbGlkYXRpb24sIElucHV0IH0gZnJvbSAnLi9jb21tYW5kJ1xuaW1wb3J0IHsgRXhlY3V0ZUNvbW1hbmRDb25maWcsIEV4ZWN1dGVDb21tYW5kSW5zdGFuY2UgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPiB7XG4gIGlkOiBzdHJpbmdcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmdcbiAgd2FsbGV0OiBJV2FsbGV0PFdhbGxldD5cbiAgcHJvdmlkZXI6IElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+XG4gIGZsYWdzOiBhbnlcbiAgY29udHJhY3Q6IENvbnRyYWN0XG59XG5cbnR5cGUgTWFrZU1lc3NhZ2U8Q0ksIENvbnRyYWN0LCBQcm92aWRlciwgTWVzc2FnZT4gPSAoXG4gIGNvbnRyYWN0OiBDb250cmFjdCxcbiAgcHJvdmlkZXI6IFByb3ZpZGVyLFxuICBpbnB1dDogQ0ksXG4gIGFjdGlvbjogc3RyaW5nLFxuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZyxcbiAgaXNEZXBsb3ltZW50PzogYm9vbGVhbixcbikgPT4gUHJvbWlzZTxNZXNzYWdlW10+XG5cbmV4cG9ydCBjb25zdCBtYWtlRXhlY3V0ZUNvbW1hbmQgPSA8VUksIENJLCBNZXNzYWdlLCBDb250cmFjdCwgUHJvdmlkZXIsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+KFxuICBtYWtlTWVzc2FnZTogTWFrZU1lc3NhZ2U8Q0ksIENvbnRyYWN0LCBQcm92aWRlciwgTWVzc2FnZT4sXG4pID0+IChcbiAgY29uZmlnOiBFeGVjdXRlQ29tbWFuZENvbmZpZzxcbiAgICBVSSxcbiAgICBDSSxcbiAgICBUcmFuc2FjdGlvbixcbiAgICBFeGVjdXRpb25Db250ZXh0PFdhbGxldCwgUHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbj4sXG4gICAgQ29udHJhY3RcbiAgPixcbikgPT4gKGRlcHM6IERlcGVuZGVuY2llczxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQsIEJhc2ljRW52PikgPT4ge1xuICBjb25zdCBpZCA9IG1ha2VDb21tYW5kSWQoY29uZmlnLmNhdGVnb3J5LCBjb25maWcuYWN0aW9uLCBjb25maWcuc3VmZml4ZXMpXG5cbiAgY29uc3QgY29tbWFuZDogQ29tbWFuZEN0b3I8RXhlY3V0ZUNvbW1hbmRJbnN0YW5jZTxcbiAgICBVSSxcbiAgICBDSSxcbiAgICBQcm92aWRlcixcbiAgICBDb250cmFjdCxcbiAgICBNZXNzYWdlLFxuICAgIFRyYW5zYWN0aW9uLFxuICAgIFdhbGxldCxcbiAgICBFeGVjdXRpb25Db250ZXh0PFdhbGxldCwgUHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbj5cbiAgPj4gPSBjbGFzcyBFeGVjdXRlQ29tbWFuZCBleHRlbmRzIFdyaXRlQ29tbWFuZDxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj4ge1xuICAgIFtrZXk6IHN0cmluZ106IGFueVxuXG4gICAgcHJvdmlkZXI6IElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+XG4gICAgd2FsbGV0OiBJV2FsbGV0PFdhbGxldD5cbiAgICBleGVjdXRpb25Db250ZXh0OiBFeGVjdXRpb25Db250ZXh0PFdhbGxldCwgUHJvdmlkZXIsIENvbnRyYWN0LCBNZXNzYWdlLCBUcmFuc2FjdGlvbj5cbiAgICBjb250cmFjdEFkZHJlc3M6IHN0cmluZ1xuICAgIGFjY291bnQ6IHN0cmluZ1xuICAgIGNvbnRyYWN0OiBDb250cmFjdFxuXG4gICAgaW5wdXQ6IElucHV0PFVJLCBDST5cblxuICAgIHNpbXVsYXRlPzogKCkgPT4gYm9vbGVhblxuXG4gICAgbWFrZU1lc3NhZ2U6IE1ha2VNZXNzYWdlPENJLCBDb250cmFjdCwgUHJvdmlkZXIsIE1lc3NhZ2U+XG5cbiAgICBiZWZvcmVFeGVjdXRlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gICAgYWZ0ZXJFeGVjdXRlOiAocmVzcG9uc2U6IFJlc3VsdDxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj4pID0+IFByb21pc2U8YW55PlxuXG4gICAgY29uc3RydWN0b3IoZmxhZ3MsIGFyZ3MpIHtcbiAgICAgIHN1cGVyKGZsYWdzLCBhcmdzKVxuICAgIH1cblxuICAgIHN0YXRpYyBpZCA9IGlkXG4gICAgc3RhdGljIGNhdGVnb3J5ID0gY29uZmlnLmNhdGVnb3J5XG4gICAgc3RhdGljIGV4YW1wbGVzID0gY29uZmlnLnV4LmV4YW1wbGVzXG5cbiAgICBzdGF0aWMgY3JlYXRlID0gYXN5bmMgKGZsYWdzLCBhcmdzKSA9PiB7XG4gICAgICBjb25zdCBjID0gbmV3IEV4ZWN1dGVDb21tYW5kKGZsYWdzLCBhcmdzKVxuXG4gICAgICBjb25zdCBlbnYgPSBkZXBzLm1ha2VFbnYoZmxhZ3MpXG4gICAgICBjLnByb3ZpZGVyID0gZGVwcy5tYWtlUHJvdmlkZXIoZW52LnByb3ZpZGVyVXJsKVxuICAgICAgYy53YWxsZXQgPSBkZXBzLm1ha2VXYWxsZXQoZW52LCBmbGFncylcbiAgICAgIGMuY29udHJhY3RBZGRyZXNzID0gYXJnc1swXVxuICAgICAgYy5jb250cmFjdCA9IGNvbmZpZy5sb2FkQ29udHJhY3QoKVxuICAgICAgYy5tYWtlTWVzc2FnZSA9IG1ha2VNZXNzYWdlXG4gICAgICBjLmV4ZWN1dGlvbkNvbnRleHQgPSB7XG4gICAgICAgIHByb3ZpZGVyOiBjLnByb3ZpZGVyLFxuICAgICAgICB3YWxsZXQ6IGMud2FsbGV0LFxuICAgICAgICBpZDogbWFrZUNvbW1hbmRJZChjb25maWcuY2F0ZWdvcnksIGNvbmZpZy5hY3Rpb24sIGNvbmZpZy5zdWZmaXhlcyksXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogYy5jb250cmFjdEFkZHJlc3MsXG4gICAgICAgIGZsYWdzOiBmbGFncyxcbiAgICAgICAgY29udHJhY3Q6IGNvbmZpZy5sb2FkQ29udHJhY3QoKSxcbiAgICAgIH1cblxuICAgICAgYy5pbnB1dCA9IGF3YWl0IGMuYnVpbGRDb21tYW5kSW5wdXQoZmxhZ3MsIGFyZ3MsIGVudilcblxuICAgICAgYy5iZWZvcmVFeGVjdXRlID0gY29uZmlnLmhvb2tzPy5iZWZvcmVFeGVjdXRlXG4gICAgICAgID8gY29uZmlnLmhvb2tzLmJlZm9yZUV4ZWN1dGUoYy5leGVjdXRpb25Db250ZXh0LCBjLmlucHV0LCB7IGxvZ2dlcjogZGVwcy5sb2dnZXIsIHByb21wdDogZGVwcy5wcm9tcHQgfSlcbiAgICAgICAgOiBjLmRlZmF1bHRCZWZvcmVFeGVjdXRlKGMuZXhlY3V0aW9uQ29udGV4dCwgYy5pbnB1dClcblxuICAgICAgYy5hZnRlckV4ZWN1dGUgPSBjb25maWcuaG9va3M/LmFmdGVyRXhlY3V0ZVxuICAgICAgICA/IGNvbmZpZy5ob29rcy5hZnRlckV4ZWN1dGUoYy5leGVjdXRpb25Db250ZXh0LCBjLmlucHV0LCB7IGxvZ2dlcjogZGVwcy5sb2dnZXIsIHByb21wdDogZGVwcy5wcm9tcHQgfSlcbiAgICAgICAgOiBjLmRlZmF1bHRBZnRlckV4ZWN1dGUoKVxuXG4gICAgICByZXR1cm4gY1xuICAgIH1cblxuICAgIGhpZ2hsaWdodFRleHQgPSAobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nID0+IGRlcHMubG9nZ2VyLnN0eWxlKG1lc3NhZ2UsICdibHVlJylcblxuICAgIGRlZmF1bHRCZWZvcmVFeGVjdXRlID0gKFxuICAgICAgY29udGV4dDogRXhlY3V0aW9uQ29udGV4dDxXYWxsZXQsIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24+LFxuICAgICAgaW5wdXQ6IElucHV0PFVJLCBDST4sXG4gICAgKSA9PiBhc3luYyAoKSA9PiB7XG4gICAgICBpZiAoaW5wdXQuY29udHJhY3QpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuaW5mbyhgQ29udHJhY3QgSW5wdXQgUGFyYW1zOiAke2lucHV0LmNvbnRyYWN0fWApXG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLmFjdGlvbiAhPT0gJ2RlcGxveScpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICBgQWJvdXQgdG8gZXhlY3V0ZSAke3RoaXMuaGlnaGxpZ2h0VGV4dChjb25maWcuYWN0aW9uKX0gZnVuY3Rpb24gb24gdGhlICR7dGhpcy5oaWdobGlnaHRUZXh0KFxuICAgICAgICAgICAgY29uZmlnLmNhdGVnb3J5LFxuICAgICAgICAgICl9IGNvbnRyYWN0IHdpdGggYWRkcmVzcyAke3RoaXMuaGlnaGxpZ2h0VGV4dCh0aGlzLmNvbnRyYWN0QWRkcmVzcyl9YCxcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuaW5mbyhgQWJvdXQgdG8gZGVwbG95IGEgbmV3ICR7dGhpcy5oaWdobGlnaHRUZXh0KGNvbmZpZy5jYXRlZ29yeSl9IGNvbnRyYWN0YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkZWZhdWx0QWZ0ZXJFeGVjdXRlID0gKCkgPT4gYXN5bmMgKHJlc3BvbnNlOiBSZXN1bHQ8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+KTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgICAgIGRlcHMubG9nZ2VyLmluZm8oYEV4ZWN1dGlvbiBmaW5pc2hlZCBhdCB0cmFuc2FjdGlvbjogJHtyZXNwb25zZS5yZXNwb25zZXNbMF0udHguaGFzaH1gKVxuICAgIH1cblxuICAgIHJ1blZhbGlkYXRpb25zID0gYXN5bmMgKFxuICAgICAgdmFsaWRhdGlvbnM6IFZhbGlkYXRpb248VUksIEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPj5bXSxcbiAgICAgIGlucHV0OiBVSSxcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UuYWxsKHZhbGlkYXRpb25zLm1hcCgodmFsaWRhdGlvbikgPT4gdmFsaWRhdGlvbihpbnB1dCwgdGhpcy5leGVjdXRpb25Db250ZXh0KSkpXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgYnVpbGRDb21tYW5kSW5wdXQgPSBhc3luYyAoZmxhZ3MsIGFyZ3MsIGVudik6IFByb21pc2U8SW5wdXQ8VUksIENJPj4gPT4ge1xuICAgICAgLy8gSWYgYW4gZXh0ZXJuYWwgaW5wdXQgZ2VuZXJhdG9yIGlzIGRlZmluZWQgaGFzIHByZWZlcmVuY2UuIElmIGl0IGZhaWxzIHRvIGdlbmVyYXRlIHRoZSBpbnB1dCwgZmFsbHMgYmFjayB0byBkZWZhdWx0IG1ldGhvZFxuICAgICAgbGV0IHVzZXJJbnB1dCA9XG4gICAgICAgIGRlcHMubWFrZUNvbW1hbmRJbnB1dCAmJiAoYXdhaXQgZGVwcy5tYWtlQ29tbWFuZElucHV0PFVJPihpZCwgZmxhZ3MubmV0d29yaywgdGhpcy5jb250cmFjdEFkZHJlc3MpKVxuICAgICAgaWYgKCF1c2VySW5wdXQpIHtcbiAgICAgICAgdXNlcklucHV0ID0gYXdhaXQgY29uZmlnLm1ha2VVc2VySW5wdXQoZmxhZ3MsIGFyZ3MsIGVudilcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGlvblxuICAgICAgaWYgKGNvbmZpZy52YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGF3YWl0IHRoaXMucnVuVmFsaWRhdGlvbnMoY29uZmlnLnZhbGlkYXRpb25zLCB1c2VySW5wdXQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbnRyYWN0SW5wdXQgPSBhd2FpdCBjb25maWcubWFrZUNvbnRyYWN0SW5wdXQodXNlcklucHV0LCB0aGlzLmV4ZWN1dGlvbkNvbnRleHQpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVzZXI6IHVzZXJJbnB1dCxcbiAgICAgICAgY29udHJhY3Q6IGNvbnRyYWN0SW5wdXQsXG4gICAgICB9XG4gICAgfVxuXG4gICAgZGVwbG95Q29udHJhY3QgPSBhc3luYyAoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj4gPT4ge1xuICAgICAgYXdhaXQgZGVwcy5wcm9tcHQoJ0NvbnRpbnVlPycpXG4gICAgICBkZXBzLmxvZ2dlci5sb2FkaW5nKGBTZW5kaW5nIHRyYW5zYWN0aW9uLi4uYClcblxuICAgICAgY29uc3QgdHggPSBhd2FpdCB0aGlzLnByb3ZpZGVyLmRlcGxveUNvbnRyYWN0KHRoaXMud2FsbGV0LCB0aGlzLmNvbnRyYWN0LCB0aGlzLmlucHV0LmNvbnRyYWN0LCBmYWxzZSlcbiAgICAgIGRlcHMubG9nZ2VyLmxvYWRpbmcoYFdhaXRpbmcgZm9yIHR4IGNvbmZpcm1hdGlvbiBhdCAke3R4Lmhhc2h9Li4uYClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdHgud2FpdCgpXG4gICAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuZXJyb3IoYENvbnRyYWN0IHdhcyBub3QgZGVwbG95ZWQ6ICR7dHguZXJyb3JNZXNzYWdlfWApXG4gICAgICAgIHJldHVybiB0eFxuICAgICAgfVxuICAgICAgZGVwcy5sb2dnZXIuc3VjY2VzcyhgQ29udHJhY3QgZGVwbG95ZWQgb24gJHt0eC5oYXNofSB3aXRoIGFkZHJlc3MgJHt0eC5hZGRyZXNzfWApXG4gICAgICByZXR1cm4gdHhcbiAgICB9XG5cbiAgICBleGVjdXRlV2l0aFNpZ25lciA9IGFzeW5jICgpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PiA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlcyA9IGF3YWl0IHRoaXMubWFrZU1lc3NhZ2UoXG4gICAgICAgIHRoaXMuY29udHJhY3QsXG4gICAgICAgIHRoaXMucHJvdmlkZXIucHJvdmlkZXIsXG4gICAgICAgIHRoaXMuaW5wdXQuY29udHJhY3QsXG4gICAgICAgIGNvbmZpZy5pbnRlcm5hbEZ1bmN0aW9uIHx8IGNvbmZpZy5hY3Rpb24sXG4gICAgICAgIHRoaXMuY29udHJhY3RBZGRyZXNzLFxuICAgICAgICBmYWxzZSxcbiAgICAgIClcbiAgICAgIGF3YWl0IGRlcHMucHJvbXB0KGBDb250aW51ZT9gKVxuICAgICAgZGVwcy5sb2dnZXIubG9hZGluZyhgU2lnbmluZyBhbmQgc2VuZGluZyB0cmFuc2FjdGlvbi4uLmApXG4gICAgICBjb25zdCB0eCA9IGF3YWl0IHRoaXMucHJvdmlkZXIuc2lnbkFuZFNlbmQodGhpcy53YWxsZXQsIG1lc3NhZ2VzKVxuICAgICAgZGVwcy5sb2dnZXIubG9hZGluZyhgV2FpdGluZyBmb3IgdHggY29uZmlybWF0aW9uIGF0ICR7dHguaGFzaH0uLi5gKVxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0eC53YWl0KClcbiAgICAgIGlmICghcmVzcG9uc2Uuc3VjY2Vzcykge1xuICAgICAgICBkZXBzLmxvZ2dlci5lcnJvcihgVHggd2FzIG5vdCBzdWNjZXNzZnVsOiAke3R4LmVycm9yTWVzc2FnZX1gKVxuICAgICAgICByZXR1cm4gdHhcbiAgICAgIH1cbiAgICAgIGRlcHMubG9nZ2VyLnN1Y2Nlc3MoYFR4IGV4ZWN1dGVkIGF0ICR7dHguaGFzaH1gKVxuICAgICAgcmV0dXJuIHR4XG4gICAgfVxuXG4gICAgZXhlY3V0ZSA9IGFzeW5jICgpOiBQcm9taXNlPFJlc3VsdDxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj4+ID0+IHtcbiAgICAgIGNvbnN0IHNpZ25lciA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFB1YmxpY0tleSgpXG4gICAgICBkZXBzLmxvZ2dlci5pbmZvKGBPcGVyYXRvciBhZGRyZXNzOiAke3NpZ25lcn1gKVxuXG4gICAgICBhd2FpdCB0aGlzLmJlZm9yZUV4ZWN1dGUoKVxuXG4gICAgICBjb25zdCBtZXNzYWdlcyA9IGF3YWl0IHRoaXMubWFrZU1lc3NhZ2UoXG4gICAgICAgIHRoaXMuY29udHJhY3QsXG4gICAgICAgIHRoaXMucHJvdmlkZXIucHJvdmlkZXIsXG4gICAgICAgIHRoaXMuaW5wdXQuY29udHJhY3QsXG4gICAgICAgIGNvbmZpZy5pbnRlcm5hbEZ1bmN0aW9uIHx8IGNvbmZpZy5hY3Rpb24sXG4gICAgICAgIHRoaXMuY29udHJhY3RBZGRyZXNzLFxuICAgICAgICBjb25maWcuYWN0aW9uID09PSAnZGVwbG95JyxcbiAgICAgIClcblxuICAgICAgaWYgKHRoaXMuZmxhZ3MuZXhwb3J0KSB7XG4gICAgICAgIGRlcHMubG9nZ2VyLmluZm8oJ1RoZSBleHBvcnQgb3B0aW9uIHdhcyBlbmFibGVkLiBUcmFuc2FjdGlvbiByZXF1ZXN0IGluZm9ybWF0aW9uIHJldHVybmVkIGluIHJlcG9ydCcpXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcmVzcG9uc2VzOiBbXSxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBtZXNzYWdlcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGRlcHMucHJvbXB0KCdDb250aW51ZT8nKVxuICAgICAgZGVwcy5sb2dnZXIubG9hZGluZyhgU2VuZGluZyB0cmFuc2FjdGlvbi4uLmApXG5cbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdGhpcy5wcm92aWRlci5zaWduQW5kU2VuZCh0aGlzLndhbGxldCwgbWVzc2FnZXMpXG5cbiAgICAgIGRlcHMubG9nZ2VyLmxvYWRpbmcoYFdhaXRpbmcgZm9yIHR4IGNvbmZpcm1hdGlvbiBhdCAke3R4Lmhhc2h9Li4uYClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdHgud2FpdCgpXG4gICAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuZXJyb3IoYENvbnRyYWN0IHdhcyBub3QgZGVwbG95ZWQ6ICR7dHguZXJyb3JNZXNzYWdlfWApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZXBzLmxvZ2dlci5zdWNjZXNzKGBDb250cmFjdCBkZXBsb3llZCBvbiAke3R4Lmhhc2h9IHdpdGggYWRkcmVzcyAke3R4LmFkZHJlc3N9YClcbiAgICAgIH1cblxuICAgICAgbGV0IHJlc3VsdCA9IHtcbiAgICAgICAgcmVzcG9uc2VzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdHgsXG4gICAgICAgICAgICBjb250cmFjdDogdHguYWRkcmVzcyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfVxuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWZ0ZXJFeGVjdXRlKHJlc3VsdClcblxuICAgICAgY29uc3QgcmVwb3J0ID0gISFkYXRhID8geyAuLi5yZXN1bHQsIGRhdGE6IHsgLi4uZGF0YSB9IH0gOiByZXN1bHRcbiAgICAgIGlmIChkZXBzLmFmdGVyRXhlY3V0ZUV4dGVybmFsKSBhd2FpdCBkZXBzLmFmdGVyRXhlY3V0ZUV4dGVybmFsKGlkLCB0aGlzLmV4ZWN1dGlvbkNvbnRleHQuZmxhZ3MubmV0d29yaywgcmVwb3J0KVxuXG4gICAgICByZXR1cm4gcmVwb3J0XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbW1hbmRcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZUNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9jb21tYW5kcy9iYXNlL2V4ZWN1dGVDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDREQUErRDtBQU0vRCx1Q0FBNEQ7QUFxQnJELE1BQU0sa0JBQWtCLEdBQUcsQ0FDaEMsbUJBQWlFLEVBQ2pFLEVBQUUsQ0FBQyxDQUNILE1BTUMsRUFDRCxFQUFFLENBQUMsQ0FBQyxJQUE4RSxFQUFFLEVBQUU7O0lBQ3RGLE1BQU0sRUFBRSxHQUFHLElBQUEsdUJBQWEsRUFBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRXpFLE1BQU0sT0FBTyxTQVNSLE1BQU0sY0FBZSxTQUFRLDRCQUE4QztZQW1COUUsWUFBWSxLQUFLLEVBQUUsSUFBSTtnQkFDckIsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtnQkE0Q3BCLGtCQUFhLEdBQUcsQ0FBQyxPQUFlLEVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtnQkFFL0UseUJBQW9CLEdBQUcsQ0FDckIsT0FBMkUsRUFDM0UsS0FBb0IsRUFDcEIsRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFO29CQUNkLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTt3QkFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO3FCQUM3RDtvQkFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFO3dCQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxvQkFBb0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLG9C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M0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDdkcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBRXZELENBQUMsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBRSxZQUFZO2dCQUN6QyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN0RyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLENBQUE7WUFFM0IsT0FBTyxDQUFDLENBQUE7UUFDVixDQUFDO1dBMklGLENBQUE7SUFFRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDLENBQUE7QUFsT1ksUUFBQSxrQkFBa0Isc0JBa085QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3VsdCwgV3JpdGVDb21tYW5kIH0gZnJvbSAnQGNoYWlubGluay9nYXVudGxldC1jb3JlJ1xuaW1wb3J0IHsgQ29tbWFuZEN0b3IgfSBmcm9tICcuJ1xuaW1wb3J0IHsgRGVwZW5kZW5jaWVzLCBCYXNpY0VudiB9IGZyb20gJy4uLy4uL2RlcGVuZGVuY2llcydcbmltcG9ydCB7IElQcm92aWRlciB9IGZyb20gJy4uLy4uL3Byb3ZpZGVyJ1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uLy4uL3RyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uLy4uL3dhbGxldCdcbmltcG9ydCB7IG1ha2VDb21tYW5kSWQsIFZhbGlkYXRpb24sIElucHV0IH0gZnJvbSAnLi9jb21tYW5kJ1xuaW1wb3J0IHsgRXhlY3V0ZUNvbW1hbmRDb25maWcsIEV4ZWN1dGVDb21tYW5kSW5zdGFuY2UgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPiB7XG4gIGlkOiBzdHJpbmdcbiAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmdcbiAgd2FsbGV0OiBJV2FsbGV0PFdhbGxldD5cbiAgcHJvdmlkZXI6IElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+XG4gIGZsYWdzOiBhbnlcbiAgY29udHJhY3Q6IENvbnRyYWN0XG59XG5cbnR5cGUgTWFrZU1lc3NhZ2U8Q0ksIENvbnRyYWN0LCBQcm92aWRlciwgTWVzc2FnZT4gPSAoXG4gIGNvbnRyYWN0OiBDb250cmFjdCxcbiAgcHJvdmlkZXI6IFByb3ZpZGVyLFxuICBpbnB1dDogQ0ksXG4gIGFjdGlvbjogc3RyaW5nLFxuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZyxcbiAgaXNEZXBsb3ltZW50PzogYm9vbGVhbixcbikgPT4gKCkgPT4gUHJvbWlzZTxNZXNzYWdlW10+XG5cbmV4cG9ydCBjb25zdCBtYWtlRXhlY3V0ZUNvbW1hbmQgPSA8VUksIENJLCBNZXNzYWdlLCBDb250cmFjdCwgUHJvdmlkZXIsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+KFxuICByZWdpc3Rlck1ha2VNZXNzYWdlOiBNYWtlTWVzc2FnZTxDSSwgQ29udHJhY3QsIFByb3ZpZGVyLCBNZXNzYWdlPixcbikgPT4gKFxuICBjb25maWc6IEV4ZWN1dGVDb21tYW5kQ29uZmlnPFxuICAgIFVJLFxuICAgIENJLFxuICAgIFRyYW5zYWN0aW9uLFxuICAgIEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPixcbiAgICBDb250cmFjdFxuICA+LFxuKSA9PiAoZGVwczogRGVwZW5kZW5jaWVzPFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldCwgQmFzaWNFbnY+KSA9PiB7XG4gIGNvbnN0IGlkID0gbWFrZUNvbW1hbmRJZChjb25maWcuY2F0ZWdvcnksIGNvbmZpZy5hY3Rpb24sIGNvbmZpZy5zdWZmaXhlcylcblxuICBjb25zdCBjb21tYW5kOiBDb21tYW5kQ3RvcjxFeGVjdXRlQ29tbWFuZEluc3RhbmNlPFxuICAgIFVJLFxuICAgIENJLFxuICAgIFByb3ZpZGVyLFxuICAgIENvbnRyYWN0LFxuICAgIE1lc3NhZ2UsXG4gICAgVHJhbnNhY3Rpb24sXG4gICAgV2FsbGV0LFxuICAgIEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPlxuICA+PiA9IGNsYXNzIEV4ZWN1dGVDb21tYW5kIGV4dGVuZHMgV3JpdGVDb21tYW5kPFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55XG5cbiAgICBwcm92aWRlcjogSVByb3ZpZGVyPFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldD5cbiAgICB3YWxsZXQ6IElXYWxsZXQ8V2FsbGV0PlxuICAgIGV4ZWN1dGlvbkNvbnRleHQ6IEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPlxuICAgIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nXG4gICAgYWNjb3VudDogc3RyaW5nXG4gICAgY29udHJhY3Q6IENvbnRyYWN0XG5cbiAgICBpbnB1dDogSW5wdXQ8VUksIENJPlxuXG4gICAgc2ltdWxhdGU/OiAoKSA9PiBib29sZWFuXG5cbiAgICBtYWtlTWVzc2FnZTogKCkgPT4gUHJvbWlzZTxNZXNzYWdlW10+XG5cbiAgICBiZWZvcmVFeGVjdXRlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gICAgYWZ0ZXJFeGVjdXRlOiAocmVzcG9uc2U6IFJlc3VsdDxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj4pID0+IFByb21pc2U8YW55PlxuXG4gICAgY29uc3RydWN0b3IoZmxhZ3MsIGFyZ3MpIHtcbiAgICAgIHN1cGVyKGZsYWdzLCBhcmdzKVxuICAgIH1cblxuICAgIHN0YXRpYyBpZCA9IGlkXG4gICAgc3RhdGljIGNhdGVnb3J5ID0gY29uZmlnLmNhdGVnb3J5XG4gICAgc3RhdGljIGV4YW1wbGVzID0gY29uZmlnLnV4LmV4YW1wbGVzXG5cbiAgICBzdGF0aWMgY3JlYXRlID0gYXN5bmMgKGZsYWdzLCBhcmdzKSA9PiB7XG4gICAgICBjb25zdCBjID0gbmV3IEV4ZWN1dGVDb21tYW5kKGZsYWdzLCBhcmdzKVxuXG4gICAgICBjb25zdCBlbnYgPSBkZXBzLm1ha2VFbnYoZmxhZ3MpXG4gICAgICBjLnByb3ZpZGVyID0gZGVwcy5tYWtlUHJvdmlkZXIoZW52LnByb3ZpZGVyVXJsKVxuICAgICAgYy53YWxsZXQgPSBkZXBzLm1ha2VXYWxsZXQoZW52LCBmbGFncylcbiAgICAgIGMuY29udHJhY3RBZGRyZXNzID0gYXJnc1swXVxuICAgICAgYy5jb250cmFjdCA9IGNvbmZpZy5sb2FkQ29udHJhY3QoKVxuICAgICAgYy5pbnB1dCA9IGF3YWl0IGMuYnVpbGRDb21tYW5kSW5wdXQoZmxhZ3MsIGFyZ3MsIGVudilcbiAgICAgIGMubWFrZU1lc3NhZ2UgPSByZWdpc3Rlck1ha2VNZXNzYWdlKFxuICAgICAgICBjLmNvbnRyYWN0LFxuICAgICAgICBjLnByb3ZpZGVyLnByb3ZpZGVyLFxuICAgICAgICBjLmlucHV0LmNvbnRyYWN0LFxuICAgICAgICBjb25maWcuaW50ZXJuYWxGdW5jdGlvbiB8fCBjb25maWcuYWN0aW9uLFxuICAgICAgICBjLmNvbnRyYWN0QWRkcmVzcyxcbiAgICAgICAgY29uZmlnLmFjdGlvbiA9PT0gJ2RlcGxveScsXG4gICAgICApXG4gICAgICBjLmV4ZWN1dGlvbkNvbnRleHQgPSB7XG4gICAgICAgIHByb3ZpZGVyOiBjLnByb3ZpZGVyLFxuICAgICAgICB3YWxsZXQ6IGMud2FsbGV0LFxuICAgICAgICBpZDogbWFrZUNvbW1hbmRJZChjb25maWcuY2F0ZWdvcnksIGNvbmZpZy5hY3Rpb24sIGNvbmZpZy5zdWZmaXhlcyksXG4gICAgICAgIGNvbnRyYWN0QWRkcmVzczogYy5jb250cmFjdEFkZHJlc3MsXG4gICAgICAgIGZsYWdzOiBmbGFncyxcbiAgICAgICAgY29udHJhY3Q6IGNvbmZpZy5sb2FkQ29udHJhY3QoKSxcbiAgICAgIH1cblxuICAgICAgYy5iZWZvcmVFeGVjdXRlID0gY29uZmlnLmhvb2tzPy5iZWZvcmVFeGVjdXRlXG4gICAgICAgID8gY29uZmlnLmhvb2tzLmJlZm9yZUV4ZWN1dGUoYy5leGVjdXRpb25Db250ZXh0LCBjLmlucHV0LCB7IGxvZ2dlcjogZGVwcy5sb2dnZXIsIHByb21wdDogZGVwcy5wcm9tcHQgfSlcbiAgICAgICAgOiBjLmRlZmF1bHRCZWZvcmVFeGVjdXRlKGMuZXhlY3V0aW9uQ29udGV4dCwgYy5pbnB1dClcblxuICAgICAgYy5hZnRlckV4ZWN1dGUgPSBjb25maWcuaG9va3M/LmFmdGVyRXhlY3V0ZVxuICAgICAgICA/IGNvbmZpZy5ob29rcy5hZnRlckV4ZWN1dGUoYy5leGVjdXRpb25Db250ZXh0LCBjLmlucHV0LCB7IGxvZ2dlcjogZGVwcy5sb2dnZXIsIHByb21wdDogZGVwcy5wcm9tcHQgfSlcbiAgICAgICAgOiBjLmRlZmF1bHRBZnRlckV4ZWN1dGUoKVxuXG4gICAgICByZXR1cm4gY1xuICAgIH1cblxuICAgIGhpZ2hsaWdodFRleHQgPSAobWVzc2FnZTogc3RyaW5nKTogc3RyaW5nID0+IGRlcHMubG9nZ2VyLnN0eWxlKG1lc3NhZ2UsICdibHVlJylcblxuICAgIGRlZmF1bHRCZWZvcmVFeGVjdXRlID0gKFxuICAgICAgY29udGV4dDogRXhlY3V0aW9uQ29udGV4dDxXYWxsZXQsIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24+LFxuICAgICAgaW5wdXQ6IElucHV0PFVJLCBDST4sXG4gICAgKSA9PiBhc3luYyAoKSA9PiB7XG4gICAgICBpZiAoaW5wdXQuY29udHJhY3QpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuaW5mbyhgQ29udHJhY3QgSW5wdXQgUGFyYW1zOiAke2lucHV0LmNvbnRyYWN0fWApXG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLmFjdGlvbiAhPT0gJ2RlcGxveScpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICBgQWJvdXQgdG8gZXhlY3V0ZSAke3RoaXMuaGlnaGxpZ2h0VGV4dChjb25maWcuYWN0aW9uKX0gZnVuY3Rpb24gb24gdGhlICR7dGhpcy5oaWdobGlnaHRUZXh0KFxuICAgICAgICAgICAgY29uZmlnLmNhdGVnb3J5LFxuICAgICAgICAgICl9IGNvbnRyYWN0IHdpdGggYWRkcmVzcyAke3RoaXMuaGlnaGxpZ2h0VGV4dCh0aGlzLmNvbnRyYWN0QWRkcmVzcyl9YCxcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuaW5mbyhgQWJvdXQgdG8gZGVwbG95IGEgbmV3ICR7dGhpcy5oaWdobGlnaHRUZXh0KGNvbmZpZy5jYXRlZ29yeSl9IGNvbnRyYWN0YClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkZWZhdWx0QWZ0ZXJFeGVjdXRlID0gKCkgPT4gYXN5bmMgKHJlc3BvbnNlOiBSZXN1bHQ8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+KTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgICAgIGRlcHMubG9nZ2VyLnN1Y2Nlc3MoYEV4ZWN1dGlvbiBmaW5pc2hlZCBhdCB0cmFuc2FjdGlvbjogJHtyZXNwb25zZS5yZXNwb25zZXNbMF0udHguaGFzaH1gKVxuICAgIH1cblxuICAgIHJ1blZhbGlkYXRpb25zID0gYXN5bmMgKFxuICAgICAgdmFsaWRhdGlvbnM6IFZhbGlkYXRpb248VUksIEV4ZWN1dGlvbkNvbnRleHQ8V2FsbGV0LCBQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uPj5bXSxcbiAgICAgIGlucHV0OiBVSSxcbiAgICApID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UuYWxsKHZhbGlkYXRpb25zLm1hcCgodmFsaWRhdGlvbikgPT4gdmFsaWRhdGlvbihpbnB1dCwgdGhpcy5leGVjdXRpb25Db250ZXh0KSkpXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgfVxuXG4gICAgYnVpbGRDb21tYW5kSW5wdXQgPSBhc3luYyAoZmxhZ3MsIGFyZ3MsIGVudik6IFByb21pc2U8SW5wdXQ8VUksIENJPj4gPT4ge1xuICAgICAgLy8gSWYgYW4gZXh0ZXJuYWwgaW5wdXQgZ2VuZXJhdG9yIGlzIGRlZmluZWQgaGFzIHByZWZlcmVuY2UuIElmIGl0IGZhaWxzIHRvIGdlbmVyYXRlIHRoZSBpbnB1dCwgZmFsbHMgYmFjayB0byBkZWZhdWx0IG1ldGhvZFxuICAgICAgbGV0IHVzZXJJbnB1dCA9XG4gICAgICAgIGRlcHMubWFrZUNvbW1hbmRJbnB1dCAmJiAoYXdhaXQgZGVwcy5tYWtlQ29tbWFuZElucHV0PFVJPihpZCwgZmxhZ3MubmV0d29yaywgdGhpcy5jb250cmFjdEFkZHJlc3MpKVxuICAgICAgaWYgKCF1c2VySW5wdXQpIHtcbiAgICAgICAgdXNlcklucHV0ID0gYXdhaXQgY29uZmlnLm1ha2VVc2VySW5wdXQoZmxhZ3MsIGFyZ3MsIGVudilcbiAgICAgIH1cblxuICAgICAgLy8gVmFsaWRhdGlvblxuICAgICAgaWYgKGNvbmZpZy52YWxpZGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGF3YWl0IHRoaXMucnVuVmFsaWRhdGlvbnMoY29uZmlnLnZhbGlkYXRpb25zLCB1c2VySW5wdXQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbnRyYWN0SW5wdXQgPSBhd2FpdCBjb25maWcubWFrZUNvbnRyYWN0SW5wdXQodXNlcklucHV0LCB0aGlzLmV4ZWN1dGlvbkNvbnRleHQpXG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVzZXI6IHVzZXJJbnB1dCxcbiAgICAgICAgY29udHJhY3Q6IGNvbnRyYWN0SW5wdXQsXG4gICAgICB9XG4gICAgfVxuXG4gICAgZGVwbG95Q29udHJhY3QgPSBhc3luYyAoKTogUHJvbWlzZTxUcmFuc2FjdGlvblJlc3BvbnNlPFRyYW5zYWN0aW9uPj4gPT4ge1xuICAgICAgYXdhaXQgZGVwcy5wcm9tcHQoJ0NvbnRpbnVlPycpXG4gICAgICBkZXBzLmxvZ2dlci5sb2FkaW5nKGBTZW5kaW5nIHRyYW5zYWN0aW9uLi4uYClcblxuICAgICAgY29uc3QgdHggPSBhd2FpdCB0aGlzLnByb3ZpZGVyLmRlcGxveUNvbnRyYWN0KHRoaXMud2FsbGV0LCB0aGlzLmNvbnRyYWN0LCB0aGlzLmlucHV0LmNvbnRyYWN0LCBmYWxzZSlcbiAgICAgIGRlcHMubG9nZ2VyLmxvYWRpbmcoYFdhaXRpbmcgZm9yIHR4IGNvbmZpcm1hdGlvbiBhdCAke3R4Lmhhc2h9Li4uYClcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdHgud2FpdCgpXG4gICAgICBpZiAoIXJlc3BvbnNlLnN1Y2Nlc3MpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuZXJyb3IoYENvbnRyYWN0IHdhcyBub3QgZGVwbG95ZWQ6ICR7dHguZXJyb3JNZXNzYWdlfWApXG4gICAgICAgIHJldHVybiB0eFxuICAgICAgfVxuICAgICAgZGVwcy5sb2dnZXIuc3VjY2VzcyhgQ29udHJhY3QgZGVwbG95ZWQgb24gJHt0eC5oYXNofSB3aXRoIGFkZHJlc3MgJHt0eC5hZGRyZXNzfWApXG4gICAgICByZXR1cm4gdHhcbiAgICB9XG5cbiAgICBleGVjdXRlV2l0aFNpZ25lciA9IGFzeW5jICgpOiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PiA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlcyA9IGF3YWl0IHRoaXMubWFrZU1lc3NhZ2UoKVxuICAgICAgYXdhaXQgZGVwcy5wcm9tcHQoYENvbnRpbnVlP2ApXG4gICAgICBkZXBzLmxvZ2dlci5sb2FkaW5nKGBTaWduaW5nIGFuZCBzZW5kaW5nIHRyYW5zYWN0aW9uLi4uYClcbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdGhpcy5wcm92aWRlci5zaWduQW5kU2VuZCh0aGlzLndhbGxldCwgbWVzc2FnZXMpXG4gICAgICBkZXBzLmxvZ2dlci5sb2FkaW5nKGBXYWl0aW5nIGZvciB0eCBjb25maXJtYXRpb24gYXQgJHt0eC5oYXNofS4uLmApXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHR4LndhaXQoKVxuICAgICAgaWYgKCFyZXNwb25zZS5zdWNjZXNzKSB7XG4gICAgICAgIGRlcHMubG9nZ2VyLmVycm9yKGBUeCB3YXMgbm90IHN1Y2Nlc3NmdWw6ICR7dHguZXJyb3JNZXNzYWdlfWApXG4gICAgICAgIHJldHVybiB0eFxuICAgICAgfVxuICAgICAgZGVwcy5sb2dnZXIuc3VjY2VzcyhgVHggZXhlY3V0ZWQgYXQgJHt0eC5oYXNofWApXG4gICAgICByZXR1cm4gdHhcbiAgICB9XG5cbiAgICBleGVjdXRlID0gYXN5bmMgKCk6IFByb21pc2U8UmVzdWx0PFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+Pj4gPT4ge1xuICAgICAgYXdhaXQgdGhpcy5iZWZvcmVFeGVjdXRlKClcblxuICAgICAgY29uc3QgbWVzc2FnZXMgPSBhd2FpdCB0aGlzLm1ha2VNZXNzYWdlKClcblxuICAgICAgLy8gSWYgdGhlIHVzZXIgZGVjaWRlcyB0byBleHBvcnQgdGhlIHRyYW5zYWN0aW9uIGRhdGEsIHdlIGNhbiBnZW5lcmF0ZSBhbmQgcmV0dXJuIHRoZVxuICAgICAgLy8gdHJhbnNhY3Rpb24gaW5mb3JtYXRpb24gd2l0aG91dCBzaWduaW5nIGFuZCBzZW5kaW5nXG4gICAgICBpZiAodGhpcy5mbGFncy5leHBvcnQpIHtcbiAgICAgICAgZGVwcy5sb2dnZXIuaW5mbygnVGhlIGV4cG9ydCBvcHRpb24gd2FzIGVuYWJsZWQuIFRyYW5zYWN0aW9uIHJlcXVlc3QgaW5mb3JtYXRpb24gcmV0dXJuZWQgaW4gcmVwb3J0JylcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICByZXNwb25zZXM6IFtdLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIG1lc3NhZ2VzLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHNpZ25lciA9IGF3YWl0IHRoaXMud2FsbGV0LmdldFB1YmxpY0tleSgpXG4gICAgICAgIGRlcHMubG9nZ2VyLmluZm8oYE9wZXJhdG9yIGFkZHJlc3M6ICR7c2lnbmVyfWApXG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGRlcHMucHJvbXB0KCdDb250aW51ZT8nKVxuICAgICAgZGVwcy5sb2dnZXIubG9hZGluZyhgU2VuZGluZyB0cmFuc2FjdGlvbi4uLmApXG5cbiAgICAgIGNvbnN0IHR4ID0gYXdhaXQgdGhpcy5wcm92aWRlci5zaWduQW5kU2VuZCh0aGlzLndhbGxldCwgbWVzc2FnZXMpXG5cbiAgICAgIGRlcHMubG9nZ2VyLmxvYWRpbmcoYFdhaXRpbmcgZm9yIHR4IGNvbmZpcm1hdGlvbiBhdCAke3R4Lmhhc2h9Li4uYClcblxuICAgICAgY29uc3QgaXNEZXBsb3ltZW50ID0gY29uZmlnLmFjdGlvbiA9PT0gJ2RlcGxveSdcbiAgICAgIGNvbnN0IG91dCA9IGF3YWl0IHR4LndhaXQoKVxuICAgICAgaWYgKGlzRGVwbG95bWVudCAmJiBvdXQuc3VjY2Vzcykge1xuICAgICAgICBkZXBzLmxvZ2dlci5zdWNjZXNzKGBDb250cmFjdCBkZXBsb3llZCBvbiAke3R4Lmhhc2h9IHdpdGggYWRkcmVzcyAke3R4LmFkZHJlc3N9YClcbiAgICAgIH1cblxuICAgICAgaWYgKGlzRGVwbG95bWVudCAmJiAhb3V0LnN1Y2Nlc3MpIHtcbiAgICAgICAgLy8gRG9uJ3QgdGhpbmsgdGhpcyBjYXNlIHNob3VsZCBldmVyIG9jY3VyXG4gICAgICAgIC8vIHRoZSBjb21tYW5kIHNob3VsZCBlcnJvciBvdXQgYmVmb3JlIGVudGVyaW5nIHRoaXMgaWYgc3RhdGVtZW50XG4gICAgICAgIGRlcHMubG9nZ2VyLmVycm9yKGBDb250cmFjdCB3YXMgbm90IGRlcGxveWVkOiAke3R4LmVycm9yTWVzc2FnZX1gKVxuICAgICAgfVxuXG4gICAgICBsZXQgcmVzdWx0ID0ge1xuICAgICAgICByZXNwb25zZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eCxcbiAgICAgICAgICAgIGNvbnRyYWN0OiB0eC5hZGRyZXNzLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5hZnRlckV4ZWN1dGUocmVzdWx0KVxuXG4gICAgICBjb25zdCByZXBvcnQgPSAhIWRhdGEgPyB7IC4uLnJlc3VsdCwgZGF0YTogeyAuLi5kYXRhIH0gfSA6IHJlc3VsdFxuICAgICAgaWYgKGRlcHMuYWZ0ZXJFeGVjdXRlRXh0ZXJuYWwpIGF3YWl0IGRlcHMuYWZ0ZXJFeGVjdXRlRXh0ZXJuYWwoaWQsIHRoaXMuZXhlY3V0aW9uQ29udGV4dC5mbGFncy5uZXR3b3JrLCByZXBvcnQpXG5cbiAgICAgIHJldHVybiByZXBvcnRcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY29tbWFuZFxufVxuIl19

@@ -26,3 +26,3 @@ import { Result, BaseConfig } from '@chainlink/gauntlet-core';

input: Input<UI, CI>;
makeMessage: (contract: Contract, provider: Provider, input: CI, action: string, contractAddress: string) => Promise<Message[]>;
makeMessage: () => Promise<Message[]>;
execute: () => Promise<Result<TransactionResponse<Transaction>>>;

@@ -29,0 +29,0 @@ simulate?: () => boolean;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9jb21tYW5kcy9iYXNlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXN1bHQsIEJhc2VDb25maWcgfSBmcm9tICdAY2hhaW5saW5rL2dhdW50bGV0LWNvcmUnXG5pbXBvcnQgeyBCYXNpY0RlcHMgfSBmcm9tICcuLi8uLi9kZXBlbmRlbmNpZXMnXG5pbXBvcnQgeyBJUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9wcm92aWRlcidcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVzcG9uc2UgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbidcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi93YWxsZXQnXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJy4vY29tbWFuZCdcblxuZXhwb3J0IHR5cGUgQmVmb3JlRXhlY3V0ZTxVSSwgQ0ksIEV4ZWN1dGlvbkNvbnRleHQ+ID0gKFxuICBjb250ZXh0OiBFeGVjdXRpb25Db250ZXh0LFxuICBpbnB1dDogSW5wdXQ8VUksIENJPixcbiAgZGVwczogQmFzaWNEZXBzLFxuKSA9PiAoKSA9PiBQcm9taXNlPHZvaWQ+XG5cbmV4cG9ydCB0eXBlIEFmdGVyRXhlY3V0ZTxVSSwgQ0ksIFRyYW5zYWN0aW9uLCBFeGVjdXRpb25Db250ZXh0PiA9IChcbiAgY29udGV4dDogRXhlY3V0aW9uQ29udGV4dCxcbiAgaW5wdXQ6IElucHV0PFVJLCBDST4sXG4gIGRlcHM6IEJhc2ljRGVwcyxcbikgPT4gKHJlc3VsdDogUmVzdWx0PFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PikgPT4gUHJvbWlzZTxhbnk+XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0ZUNvbW1hbmRDb25maWc8VUksIENJLCBUcmFuc2FjdGlvbiwgRUMsIENvbnRyYWN0PiBleHRlbmRzIEJhc2VDb25maWc8VUk+IHtcbiAgaG9va3M/OiB7XG4gICAgYmVmb3JlRXhlY3V0ZT86IEJlZm9yZUV4ZWN1dGU8VUksIENJLCBFQz5cbiAgICBhZnRlckV4ZWN1dGU/OiBBZnRlckV4ZWN1dGU8VUksIENJLCBUcmFuc2FjdGlvbiwgRUM+XG4gIH1cbiAgaW50ZXJuYWxGdW5jdGlvbj86IHN0cmluZ1xuICBtYWtlQ29udHJhY3RJbnB1dDogKHVzZXJJbnB1dDogVUksIGNvbnRleHQ6IEVDKSA9PiBQcm9taXNlPENJPlxuICBsb2FkQ29udHJhY3Q6ICgpID0+IENvbnRyYWN0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0ZUNvbW1hbmRJbnN0YW5jZTxVSSwgQ0ksIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldCwgRUM+IHtcbiAgd2FsbGV0OiBJV2FsbGV0PFdhbGxldD5cbiAgcHJvdmlkZXI6IElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+XG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nXG4gIGFjY291bnQ6IHN0cmluZ1xuICBleGVjdXRpb25Db250ZXh0OiBFQ1xuICBjb250cmFjdDogQ29udHJhY3RcblxuICBpbnB1dDogSW5wdXQ8VUksIENJPlxuXG4gIG1ha2VNZXNzYWdlOiAoXG4gICAgY29udHJhY3Q6IENvbnRyYWN0LFxuICAgIHByb3ZpZGVyOiBQcm92aWRlcixcbiAgICBpbnB1dDogQ0ksXG4gICAgYWN0aW9uOiBzdHJpbmcsXG4gICAgY29udHJhY3RBZGRyZXNzOiBzdHJpbmcsXG4gICkgPT4gUHJvbWlzZTxNZXNzYWdlW10+XG4gIGV4ZWN1dGU6ICgpID0+IFByb21pc2U8UmVzdWx0PFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+Pj5cbiAgc2ltdWxhdGU/OiAoKSA9PiBib29sZWFuXG5cbiAgYmVmb3JlRXhlY3V0ZTogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICBhZnRlckV4ZWN1dGU6IChyZXNwb25zZTogUmVzdWx0PFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PikgPT4gUHJvbWlzZTxhbnk+XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29yZS9jb21tYW5kcy9iYXNlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXN1bHQsIEJhc2VDb25maWcgfSBmcm9tICdAY2hhaW5saW5rL2dhdW50bGV0LWNvcmUnXG5pbXBvcnQgeyBCYXNpY0RlcHMgfSBmcm9tICcuLi8uLi9kZXBlbmRlbmNpZXMnXG5pbXBvcnQgeyBJUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9wcm92aWRlcidcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVzcG9uc2UgfSBmcm9tICcuLi8uLi90cmFuc2FjdGlvbidcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi93YWxsZXQnXG5pbXBvcnQgeyBJbnB1dCB9IGZyb20gJy4vY29tbWFuZCdcblxuZXhwb3J0IHR5cGUgQmVmb3JlRXhlY3V0ZTxVSSwgQ0ksIEV4ZWN1dGlvbkNvbnRleHQ+ID0gKFxuICBjb250ZXh0OiBFeGVjdXRpb25Db250ZXh0LFxuICBpbnB1dDogSW5wdXQ8VUksIENJPixcbiAgZGVwczogQmFzaWNEZXBzLFxuKSA9PiAoKSA9PiBQcm9taXNlPHZvaWQ+XG5cbmV4cG9ydCB0eXBlIEFmdGVyRXhlY3V0ZTxVSSwgQ0ksIFRyYW5zYWN0aW9uLCBFeGVjdXRpb25Db250ZXh0PiA9IChcbiAgY29udGV4dDogRXhlY3V0aW9uQ29udGV4dCxcbiAgaW5wdXQ6IElucHV0PFVJLCBDST4sXG4gIGRlcHM6IEJhc2ljRGVwcyxcbikgPT4gKHJlc3VsdDogUmVzdWx0PFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PikgPT4gUHJvbWlzZTxhbnk+XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0ZUNvbW1hbmRDb25maWc8VUksIENJLCBUcmFuc2FjdGlvbiwgRUMsIENvbnRyYWN0PiBleHRlbmRzIEJhc2VDb25maWc8VUk+IHtcbiAgaG9va3M/OiB7XG4gICAgYmVmb3JlRXhlY3V0ZT86IEJlZm9yZUV4ZWN1dGU8VUksIENJLCBFQz5cbiAgICBhZnRlckV4ZWN1dGU/OiBBZnRlckV4ZWN1dGU8VUksIENJLCBUcmFuc2FjdGlvbiwgRUM+XG4gIH1cbiAgaW50ZXJuYWxGdW5jdGlvbj86IHN0cmluZ1xuICBtYWtlQ29udHJhY3RJbnB1dDogKHVzZXJJbnB1dDogVUksIGNvbnRleHQ6IEVDKSA9PiBQcm9taXNlPENJPlxuICBsb2FkQ29udHJhY3Q6ICgpID0+IENvbnRyYWN0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0ZUNvbW1hbmRJbnN0YW5jZTxVSSwgQ0ksIFByb3ZpZGVyLCBDb250cmFjdCwgTWVzc2FnZSwgVHJhbnNhY3Rpb24sIFdhbGxldCwgRUM+IHtcbiAgd2FsbGV0OiBJV2FsbGV0PFdhbGxldD5cbiAgcHJvdmlkZXI6IElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+XG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nXG4gIGFjY291bnQ6IHN0cmluZ1xuICBleGVjdXRpb25Db250ZXh0OiBFQ1xuICBjb250cmFjdDogQ29udHJhY3RcblxuICBpbnB1dDogSW5wdXQ8VUksIENJPlxuXG4gIG1ha2VNZXNzYWdlOiAoKSA9PiBQcm9taXNlPE1lc3NhZ2VbXT5cbiAgZXhlY3V0ZTogKCkgPT4gUHJvbWlzZTxSZXN1bHQ8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+PlxuICBzaW11bGF0ZT86ICgpID0+IGJvb2xlYW5cblxuICBiZWZvcmVFeGVjdXRlOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG4gIGFmdGVyRXhlY3V0ZTogKHJlc3BvbnNlOiBSZXN1bHQ8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+KSA9PiBQcm9taXNlPGFueT5cbn1cbiJdfQ==

@@ -8,3 +8,4 @@ import { IWallet } from '..';

signAndSend: (wallet: IWallet<Wallet>, calls: Message[]) => Promise<TransactionResponse<Transaction>>;
simulate: (wallet: IWallet<Wallet>, call: Message, opts?: Record<string, any>) => Promise<string>;
}
//# sourceMappingURL=index.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9wcm92aWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uJ1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+IHtcbiAgcHJvdmlkZXI6IFByb3ZpZGVyXG4gIHNlbmQ6IChzaWduZWRUcmFuc2FjdGlvbjogYW55KSA9PiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PlxuICBkZXBsb3lDb250cmFjdDogKFxuICAgIHdhbGxldDogSVdhbGxldDxXYWxsZXQ+LFxuICAgIGNvbnRyYWN0OiBDb250cmFjdCxcbiAgICBpbnB1dDogYW55LFxuICAgIHdhaXQ/OiBib29sZWFuLFxuICApID0+IFByb21pc2U8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+XG4gIHNpZ25BbmRTZW5kOiAod2FsbGV0OiBJV2FsbGV0PFdhbGxldD4sIGNhbGxzOiBNZXNzYWdlW10pID0+IFByb21pc2U8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9wcm92aWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uJ1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZXNwb25zZSB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJ1xuXG5leHBvcnQgaW50ZXJmYWNlIElQcm92aWRlcjxQcm92aWRlciwgQ29udHJhY3QsIE1lc3NhZ2UsIFRyYW5zYWN0aW9uLCBXYWxsZXQ+IHtcbiAgcHJvdmlkZXI6IFByb3ZpZGVyXG4gIHNlbmQ6IChzaWduZWRUcmFuc2FjdGlvbjogYW55KSA9PiBQcm9taXNlPFRyYW5zYWN0aW9uUmVzcG9uc2U8VHJhbnNhY3Rpb24+PlxuICBkZXBsb3lDb250cmFjdDogKFxuICAgIHdhbGxldDogSVdhbGxldDxXYWxsZXQ+LFxuICAgIGNvbnRyYWN0OiBDb250cmFjdCxcbiAgICBpbnB1dDogYW55LFxuICAgIHdhaXQ/OiBib29sZWFuLFxuICApID0+IFByb21pc2U8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+XG4gIHNpZ25BbmRTZW5kOiAod2FsbGV0OiBJV2FsbGV0PFdhbGxldD4sIGNhbGxzOiBNZXNzYWdlW10pID0+IFByb21pc2U8VHJhbnNhY3Rpb25SZXNwb25zZTxUcmFuc2FjdGlvbj4+XG4gIHNpbXVsYXRlOiAod2FsbGV0OiBJV2FsbGV0PFdhbGxldD4sIGNhbGw6IE1lc3NhZ2UsIG9wdHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSA9PiBQcm9taXNlPHN0cmluZz5cbn1cbiJdfQ==

@@ -7,3 +7,3 @@ "use strict";

const sendTransaction_1 = require("./native/sendTransaction");
const makeMessage = async (contract, provider, input, action, contractAddress, isDeployment = false) => {
const registerMakeMessage = (contract, provider, input, action, contractAddress, isDeployment = false) => async () => {
if (isDeployment)

@@ -15,3 +15,3 @@ return [{ ...contract.getDeployTransaction(...input), value: 0 }];

function makeEVMExecuteCommand(config) {
return (0, base_1.makeExecuteCommand)(makeMessage)(config);
return (0, base_1.makeExecuteCommand)(registerMakeMessage)(config);
}

@@ -29,2 +29,2 @@ exports.makeEVMExecuteCommand = makeEVMExecuteCommand;

exports.nativeCommands = [sendTransaction_1.registerSendTransactionCommand];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL2NvbW1hbmRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUEwRDtBQVkxRCxtREFBc0c7QUFHdEcsOERBQXlFO0FBNEN6RSxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQ3ZCLFFBQXlCLEVBQ3pCLFFBQXdCLEVBQ3hCLEtBQVMsRUFDVCxNQUFjLEVBQ2QsZUFBdUIsRUFDdkIsWUFBWSxHQUFHLEtBQUssRUFDVyxFQUFFO0lBQ2pDLElBQUksWUFBWTtRQUFFLE9BQU8sQ0FBQyxFQUFFLEdBQUcsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFbkYsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsS0FBWSxDQUFDLENBQUE7SUFDeEUsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBRUQsU0FBZ0IscUJBQXFCLENBQStCLE1BQXVDO0lBQ3pHLE9BQU8sSUFBQSx5QkFBa0IsRUFDdkIsV0FBVyxDQUNaLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDWCxDQUFDO0FBSkQsc0RBSUM7QUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQ3pCLFFBQXlCLEVBQ3pCLFFBQXdCLEVBQ3hCLGVBQXVCLEVBQ3ZCLEVBQVUsRUFDVixLQUFVLEVBQ1YsRUFBRTtJQUNGLE1BQU0saUJBQWlCLEdBQUcsMkJBQWUsQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDNUcsTUFBTSxNQUFNLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFBO0lBQ3BELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQyxDQUFBO0FBRUQsU0FBZ0Isd0JBQXdCLENBQ3RDLE1BQXFFO0lBRXJFLE9BQU8sSUFBQSw0QkFBcUIsRUFBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNyRCxDQUFDO0FBSkQsNERBSUM7QUFFWSxRQUFBLGNBQWMsR0FBRyxDQUFDLGdEQUE4QixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cmFjdEZhY3RvcnkgfSBmcm9tICdAZXRoZXJzcHJvamVjdC9jb250cmFjdHMnXG5pbXBvcnQge1xuICBCZWZvcmVFeGVjdXRlIGFzIENvcmVCZWZvcmVFeGVjdXRlLFxuICBBZnRlckV4ZWN1dGUgYXMgQ29yZUFmdGVyRXhlY3V0ZSxcbiAgRXhlY3V0ZUNvbW1hbmRDb25maWcgYXMgQ29yZUV4ZWN1dGVDb21tYW5kQ29uZmlnLFxuICBFeGVjdXRlQ29tbWFuZEluc3RhbmNlIGFzIENvcmVFeGVjdXRlQ29tbWFuZEluc3RhbmNlLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbW1hbmRzL2Jhc2UvdHlwZXMnXG5pbXBvcnQge1xuICBJbnNwZWN0Q29tbWFuZENvbmZpZyBhcyBDb3JlSW5zcGVjdENvbW1hbmRDb25maWcsXG4gIEluc3BlY3RDb21tYW5kSW5zdGFuY2UgYXMgQ29yZUluc3BlY3RDb21tYW5kSW5zdGFuY2UsXG59IGZyb20gJy4uLy4uL2NvcmUvY29tbWFuZHMvYmFzZS9pbnNwZWN0aW9uQ29tbWFuZCdcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVzcG9uc2UgYXMgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uUmVxdWVzdCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L2Fic3RyYWN0LXByb3ZpZGVyJ1xuaW1wb3J0IHsgbWFrZUV4ZWN1dGVDb21tYW5kLCBFeGVjdXRpb25Db250ZXh0LCBtYWtlSW5zcGVjdGlvbkNvbW1hbmQgfSBmcm9tICcuLi8uLi9jb3JlL2NvbW1hbmRzL2Jhc2UnXG5pbXBvcnQgeyBQcm92aWRlciBhcyBFdGhlcnNQcm92aWRlciB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L2Fic3RyYWN0LXByb3ZpZGVyJ1xuaW1wb3J0IHsgV2FsbGV0IGFzIEV0aGVyc1dhbGxldCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L3dhbGxldCdcbmltcG9ydCB7IHJlZ2lzdGVyU2VuZFRyYW5zYWN0aW9uQ29tbWFuZCB9IGZyb20gJy4vbmF0aXZlL3NlbmRUcmFuc2FjdGlvbidcblxuZXhwb3J0IHR5cGUgRVZNRXhlY3V0aW9uQ29udGV4dCA9IEV4ZWN1dGlvbkNvbnRleHQ8XG4gIEV0aGVyc1dhbGxldCxcbiAgRXRoZXJzUHJvdmlkZXIsXG4gIENvbnRyYWN0RmFjdG9yeSxcbiAgVHJhbnNhY3Rpb25SZXF1ZXN0LFxuICBUcmFuc2FjdGlvblxuPlxuXG5leHBvcnQgdHlwZSBFVk1CZWZvcmVFeGVjdXRlPFVJLCBDST4gPSBDb3JlQmVmb3JlRXhlY3V0ZTxVSSwgQ0ksIEVWTUV4ZWN1dGlvbkNvbnRleHQ+XG5leHBvcnQgdHlwZSBFVk1BZnRlckV4ZWN1dGU8VUksIENJPiA9IENvcmVBZnRlckV4ZWN1dGU8VUksIENJLCBUcmFuc2FjdGlvbiwgRVZNRXhlY3V0aW9uQ29udGV4dD5cbmV4cG9ydCB0eXBlIEVWTUV4ZWN1dGVDb21tYW5kQ29uZmlnPFVJLCBDST4gPSBDb3JlRXhlY3V0ZUNvbW1hbmRDb25maWc8XG4gIFVJLFxuICBDSSxcbiAgVHJhbnNhY3Rpb24sXG4gIEVWTUV4ZWN1dGlvbkNvbnRleHQsXG4gIENvbnRyYWN0RmFjdG9yeVxuPlxuZXhwb3J0IHR5cGUgRVZNSW5zcGVjdGlvbkNvbW1hbmRDb25maWc8VUksIENJLCBDb21wYXJlSW5wdXQsIFF1ZXJ5UmVzdWx0PiA9IENvcmVJbnNwZWN0Q29tbWFuZENvbmZpZzxcbiAgVUksXG4gIENJLFxuICBDb21wYXJlSW5wdXQsXG4gIFF1ZXJ5UmVzdWx0LFxuICBFdGhlcnNQcm92aWRlcixcbiAgQ29udHJhY3RGYWN0b3J5LFxuICBUcmFuc2FjdGlvblJlcXVlc3QsXG4gIFRyYW5zYWN0aW9uLFxuICBFdGhlcnNXYWxsZXRcbj5cblxuZXhwb3J0IHR5cGUgRVZNRXhlY3V0ZUNvbW1hbmRJbnN0YW5jZTxVSSwgQ0kgZXh0ZW5kcyBJdGVyYWJsZTxhbnk+PiA9IENvcmVFeGVjdXRlQ29tbWFuZEluc3RhbmNlPFxuICBVSSxcbiAgQ0ksXG4gIEV0aGVyc1Byb3ZpZGVyLFxuICBDb250cmFjdEZhY3RvcnksXG4gIFRyYW5zYWN0aW9uUmVxdWVzdCxcbiAgVHJhbnNhY3Rpb24sXG4gIEV0aGVyc1dhbGxldCxcbiAgRVZNRXhlY3V0aW9uQ29udGV4dFxuPlxuXG5leHBvcnQgdHlwZSBFVk1JbnNwZWN0Q29tbWFuZEluc3RhbmNlPFF1ZXJ5UmVzdWx0PiA9IENvcmVJbnNwZWN0Q29tbWFuZEluc3RhbmNlPFF1ZXJ5UmVzdWx0PlxuXG5jb25zdCBtYWtlTWVzc2FnZSA9IGFzeW5jIDxDSSBleHRlbmRzIEl0ZXJhYmxlPGFueT4+KFxuICBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5LFxuICBwcm92aWRlcjogRXRoZXJzUHJvdmlkZXIsXG4gIGlucHV0OiBDSSxcbiAgYWN0aW9uOiBzdHJpbmcsXG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nLFxuICBpc0RlcGxveW1lbnQgPSBmYWxzZSxcbik6IFByb21pc2U8VHJhbnNhY3Rpb25SZXF1ZXN0W10+ID0+IHtcbiAgaWYgKGlzRGVwbG95bWVudCkgcmV0dXJuIFt7IC4uLmNvbnRyYWN0LmdldERlcGxveVRyYW5zYWN0aW9uKC4uLmlucHV0KSwgdmFsdWU6IDAgfV1cblxuICBjb25zdCBkYXRhID0gY29udHJhY3QuaW50ZXJmYWNlLmVuY29kZUZ1bmN0aW9uRGF0YShhY3Rpb24sIGlucHV0IGFzIGFueSlcbiAgcmV0dXJuIFt7IHRvOiBjb250cmFjdEFkZHJlc3MsIGRhdGEsIHZhbHVlOiAwIH1dXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRVZNRXhlY3V0ZUNvbW1hbmQ8VUksIENJIGV4dGVuZHMgSXRlcmFibGU8YW55Pj4oY29uZmlnOiBFVk1FeGVjdXRlQ29tbWFuZENvbmZpZzxVSSwgQ0k+KSB7XG4gIHJldHVybiBtYWtlRXhlY3V0ZUNvbW1hbmQ8VUksIENJLCBUcmFuc2FjdGlvblJlcXVlc3QsIENvbnRyYWN0RmFjdG9yeSwgRXRoZXJzUHJvdmlkZXIsIFRyYW5zYWN0aW9uLCBFdGhlcnNXYWxsZXQ+KFxuICAgIG1ha2VNZXNzYWdlLFxuICApKGNvbmZpZylcbn1cblxuY29uc3QgZmV0Y2hDb250cmFjdCA9IGFzeW5jIChcbiAgY29udHJhY3Q6IENvbnRyYWN0RmFjdG9yeSxcbiAgcHJvdmlkZXI6IEV0aGVyc1Byb3ZpZGVyLFxuICBjb250cmFjdEFkZHJlc3M6IHN0cmluZyxcbiAgZm46IHN0cmluZyxcbiAgaW5wdXQ6IGFueSxcbikgPT4ge1xuICBjb25zdCBjb25uZWN0ZWRDb250cmFjdCA9IENvbnRyYWN0RmFjdG9yeS5nZXRDb250cmFjdChjb250cmFjdEFkZHJlc3MsIGNvbnRyYWN0LmludGVyZmFjZSkuY29ubmVjdChwcm92aWRlcilcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgY29ubmVjdGVkQ29udHJhY3RbZm5dKC4uLmlucHV0KVxuICByZXR1cm4gcmVzdWx0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRVZNSW5zcGVjdGlvbkNvbW1hbmQ8VUksIENJLCBDb21wYXJlSW5wdXQsIFF1ZXJ5UmVzdWx0PihcbiAgY29uZmlnOiBFVk1JbnNwZWN0aW9uQ29tbWFuZENvbmZpZzxVSSwgQ0ksIENvbXBhcmVJbnB1dCwgUXVlcnlSZXN1bHQ+LFxuKSB7XG4gIHJldHVybiBtYWtlSW5zcGVjdGlvbkNvbW1hbmQoZmV0Y2hDb250cmFjdCkoY29uZmlnKVxufVxuXG5leHBvcnQgY29uc3QgbmF0aXZlQ29tbWFuZHMgPSBbcmVnaXN0ZXJTZW5kVHJhbnNhY3Rpb25Db21tYW5kXVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL2NvbW1hbmRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUEwRDtBQVkxRCxtREFBc0c7QUFHdEcsOERBQXlFO0FBNEN6RSxNQUFNLG1CQUFtQixHQUFHLENBQzFCLFFBQXlCLEVBQ3pCLFFBQXdCLEVBQ3hCLEtBQVMsRUFDVCxNQUFjLEVBQ2QsZUFBdUIsRUFDdkIsWUFBWSxHQUFHLEtBQUssRUFDcEIsRUFBRSxDQUFDLEtBQUssSUFBbUMsRUFBRTtJQUM3QyxJQUFJLFlBQVk7UUFBRSxPQUFPLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRW5GLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEtBQVksQ0FBQyxDQUFBO0lBQ3hFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQ2xELENBQUMsQ0FBQTtBQUVELFNBQWdCLHFCQUFxQixDQUErQixNQUF1QztJQUN6RyxPQUFPLElBQUEseUJBQWtCLEVBQ3ZCLG1CQUFtQixDQUNwQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0FBQ1gsQ0FBQztBQUpELHNEQUlDO0FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUN6QixRQUF5QixFQUN6QixRQUF3QixFQUN4QixlQUF1QixFQUN2QixFQUFVLEVBQ1YsS0FBVSxFQUNWLEVBQUU7SUFDRixNQUFNLGlCQUFpQixHQUFHLDJCQUFlLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQzVHLE1BQU0sTUFBTSxHQUFHLE1BQU0saUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQTtJQUNwRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQUVELFNBQWdCLHdCQUF3QixDQUN0QyxNQUFxRTtJQUVyRSxPQUFPLElBQUEsNEJBQXFCLEVBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDckQsQ0FBQztBQUpELDREQUlDO0FBRVksUUFBQSxjQUFjLEdBQUcsQ0FBQyxnREFBOEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJhY3RGYWN0b3J5IH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvY29udHJhY3RzJ1xuaW1wb3J0IHtcbiAgQmVmb3JlRXhlY3V0ZSBhcyBDb3JlQmVmb3JlRXhlY3V0ZSxcbiAgQWZ0ZXJFeGVjdXRlIGFzIENvcmVBZnRlckV4ZWN1dGUsXG4gIEV4ZWN1dGVDb21tYW5kQ29uZmlnIGFzIENvcmVFeGVjdXRlQ29tbWFuZENvbmZpZyxcbiAgRXhlY3V0ZUNvbW1hbmRJbnN0YW5jZSBhcyBDb3JlRXhlY3V0ZUNvbW1hbmRJbnN0YW5jZSxcbn0gZnJvbSAnLi4vLi4vY29yZS9jb21tYW5kcy9iYXNlL3R5cGVzJ1xuaW1wb3J0IHtcbiAgSW5zcGVjdENvbW1hbmRDb25maWcgYXMgQ29yZUluc3BlY3RDb21tYW5kQ29uZmlnLFxuICBJbnNwZWN0Q29tbWFuZEluc3RhbmNlIGFzIENvcmVJbnNwZWN0Q29tbWFuZEluc3RhbmNlLFxufSBmcm9tICcuLi8uLi9jb3JlL2NvbW1hbmRzL2Jhc2UvaW5zcGVjdGlvbkNvbW1hbmQnXG5pbXBvcnQgeyBUcmFuc2FjdGlvblJlc3BvbnNlIGFzIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblJlcXVlc3QgfSBmcm9tICdAZXRoZXJzcHJvamVjdC9hYnN0cmFjdC1wcm92aWRlcidcbmltcG9ydCB7IG1ha2VFeGVjdXRlQ29tbWFuZCwgRXhlY3V0aW9uQ29udGV4dCwgbWFrZUluc3BlY3Rpb25Db21tYW5kIH0gZnJvbSAnLi4vLi4vY29yZS9jb21tYW5kcy9iYXNlJ1xuaW1wb3J0IHsgUHJvdmlkZXIgYXMgRXRoZXJzUHJvdmlkZXIgfSBmcm9tICdAZXRoZXJzcHJvamVjdC9hYnN0cmFjdC1wcm92aWRlcidcbmltcG9ydCB7IFdhbGxldCBhcyBFdGhlcnNXYWxsZXQgfSBmcm9tICdAZXRoZXJzcHJvamVjdC93YWxsZXQnXG5pbXBvcnQgeyByZWdpc3RlclNlbmRUcmFuc2FjdGlvbkNvbW1hbmQgfSBmcm9tICcuL25hdGl2ZS9zZW5kVHJhbnNhY3Rpb24nXG5cbmV4cG9ydCB0eXBlIEVWTUV4ZWN1dGlvbkNvbnRleHQgPSBFeGVjdXRpb25Db250ZXh0PFxuICBFdGhlcnNXYWxsZXQsXG4gIEV0aGVyc1Byb3ZpZGVyLFxuICBDb250cmFjdEZhY3RvcnksXG4gIFRyYW5zYWN0aW9uUmVxdWVzdCxcbiAgVHJhbnNhY3Rpb25cbj5cblxuZXhwb3J0IHR5cGUgRVZNQmVmb3JlRXhlY3V0ZTxVSSwgQ0k+ID0gQ29yZUJlZm9yZUV4ZWN1dGU8VUksIENJLCBFVk1FeGVjdXRpb25Db250ZXh0PlxuZXhwb3J0IHR5cGUgRVZNQWZ0ZXJFeGVjdXRlPFVJLCBDST4gPSBDb3JlQWZ0ZXJFeGVjdXRlPFVJLCBDSSwgVHJhbnNhY3Rpb24sIEVWTUV4ZWN1dGlvbkNvbnRleHQ+XG5leHBvcnQgdHlwZSBFVk1FeGVjdXRlQ29tbWFuZENvbmZpZzxVSSwgQ0k+ID0gQ29yZUV4ZWN1dGVDb21tYW5kQ29uZmlnPFxuICBVSSxcbiAgQ0ksXG4gIFRyYW5zYWN0aW9uLFxuICBFVk1FeGVjdXRpb25Db250ZXh0LFxuICBDb250cmFjdEZhY3Rvcnlcbj5cbmV4cG9ydCB0eXBlIEVWTUluc3BlY3Rpb25Db21tYW5kQ29uZmlnPFVJLCBDSSwgQ29tcGFyZUlucHV0LCBRdWVyeVJlc3VsdD4gPSBDb3JlSW5zcGVjdENvbW1hbmRDb25maWc8XG4gIFVJLFxuICBDSSxcbiAgQ29tcGFyZUlucHV0LFxuICBRdWVyeVJlc3VsdCxcbiAgRXRoZXJzUHJvdmlkZXIsXG4gIENvbnRyYWN0RmFjdG9yeSxcbiAgVHJhbnNhY3Rpb25SZXF1ZXN0LFxuICBUcmFuc2FjdGlvbixcbiAgRXRoZXJzV2FsbGV0XG4+XG5cbmV4cG9ydCB0eXBlIEVWTUV4ZWN1dGVDb21tYW5kSW5zdGFuY2U8VUksIENJIGV4dGVuZHMgSXRlcmFibGU8YW55Pj4gPSBDb3JlRXhlY3V0ZUNvbW1hbmRJbnN0YW5jZTxcbiAgVUksXG4gIENJLFxuICBFdGhlcnNQcm92aWRlcixcbiAgQ29udHJhY3RGYWN0b3J5LFxuICBUcmFuc2FjdGlvblJlcXVlc3QsXG4gIFRyYW5zYWN0aW9uLFxuICBFdGhlcnNXYWxsZXQsXG4gIEVWTUV4ZWN1dGlvbkNvbnRleHRcbj5cblxuZXhwb3J0IHR5cGUgRVZNSW5zcGVjdENvbW1hbmRJbnN0YW5jZTxRdWVyeVJlc3VsdD4gPSBDb3JlSW5zcGVjdENvbW1hbmRJbnN0YW5jZTxRdWVyeVJlc3VsdD5cblxuY29uc3QgcmVnaXN0ZXJNYWtlTWVzc2FnZSA9IDxDSSBleHRlbmRzIEl0ZXJhYmxlPGFueT4+KFxuICBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5LFxuICBwcm92aWRlcjogRXRoZXJzUHJvdmlkZXIsXG4gIGlucHV0OiBDSSxcbiAgYWN0aW9uOiBzdHJpbmcsXG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nLFxuICBpc0RlcGxveW1lbnQgPSBmYWxzZSxcbikgPT4gYXN5bmMgKCk6IFByb21pc2U8VHJhbnNhY3Rpb25SZXF1ZXN0W10+ID0+IHtcbiAgaWYgKGlzRGVwbG95bWVudCkgcmV0dXJuIFt7IC4uLmNvbnRyYWN0LmdldERlcGxveVRyYW5zYWN0aW9uKC4uLmlucHV0KSwgdmFsdWU6IDAgfV1cblxuICBjb25zdCBkYXRhID0gY29udHJhY3QuaW50ZXJmYWNlLmVuY29kZUZ1bmN0aW9uRGF0YShhY3Rpb24sIGlucHV0IGFzIGFueSlcbiAgcmV0dXJuIFt7IHRvOiBjb250cmFjdEFkZHJlc3MsIGRhdGEsIHZhbHVlOiAwIH1dXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRVZNRXhlY3V0ZUNvbW1hbmQ8VUksIENJIGV4dGVuZHMgSXRlcmFibGU8YW55Pj4oY29uZmlnOiBFVk1FeGVjdXRlQ29tbWFuZENvbmZpZzxVSSwgQ0k+KSB7XG4gIHJldHVybiBtYWtlRXhlY3V0ZUNvbW1hbmQ8VUksIENJLCBUcmFuc2FjdGlvblJlcXVlc3QsIENvbnRyYWN0RmFjdG9yeSwgRXRoZXJzUHJvdmlkZXIsIFRyYW5zYWN0aW9uLCBFdGhlcnNXYWxsZXQ+KFxuICAgIHJlZ2lzdGVyTWFrZU1lc3NhZ2UsXG4gICkoY29uZmlnKVxufVxuXG5jb25zdCBmZXRjaENvbnRyYWN0ID0gYXN5bmMgKFxuICBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5LFxuICBwcm92aWRlcjogRXRoZXJzUHJvdmlkZXIsXG4gIGNvbnRyYWN0QWRkcmVzczogc3RyaW5nLFxuICBmbjogc3RyaW5nLFxuICBpbnB1dDogYW55LFxuKSA9PiB7XG4gIGNvbnN0IGNvbm5lY3RlZENvbnRyYWN0ID0gQ29udHJhY3RGYWN0b3J5LmdldENvbnRyYWN0KGNvbnRyYWN0QWRkcmVzcywgY29udHJhY3QuaW50ZXJmYWNlKS5jb25uZWN0KHByb3ZpZGVyKVxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBjb25uZWN0ZWRDb250cmFjdFtmbl0oLi4uaW5wdXQpXG4gIHJldHVybiByZXN1bHRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VFVk1JbnNwZWN0aW9uQ29tbWFuZDxVSSwgQ0ksIENvbXBhcmVJbnB1dCwgUXVlcnlSZXN1bHQ+KFxuICBjb25maWc6IEVWTUluc3BlY3Rpb25Db21tYW5kQ29uZmlnPFVJLCBDSSwgQ29tcGFyZUlucHV0LCBRdWVyeVJlc3VsdD4sXG4pIHtcbiAgcmV0dXJuIG1ha2VJbnNwZWN0aW9uQ29tbWFuZChmZXRjaENvbnRyYWN0KShjb25maWcpXG59XG5cbmV4cG9ydCBjb25zdCBuYXRpdmVDb21tYW5kcyA9IFtyZWdpc3RlclNlbmRUcmFuc2FjdGlvbkNvbW1hbmRdXG4iXX0=

@@ -8,4 +8,8 @@ import { ContractFactory } from '@ethersproject/contracts';

pk?: string;
safeMasterCopy?: string;
safeProxyFactory?: string;
safeMultisend?: string;
safeAddress?: string;
}
export declare type EVMDependencies = Dependencies<EthersProvider, ContractFactory, TransactionRequest, TransactionResponse, EthersWallet, Env>;
//# sourceMappingURL=index.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL2RlcGVuZGVuY2llcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJhY3RGYWN0b3J5IH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvY29udHJhY3RzJ1xuaW1wb3J0IHsgV2FsbGV0IGFzIEV0aGVyc1dhbGxldCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L3dhbGxldCdcbmltcG9ydCB7IERlcGVuZGVuY2llcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVwZW5kZW5jaWVzJ1xuaW1wb3J0IHsgUHJvdmlkZXIgYXMgRXRoZXJzUHJvdmlkZXIsIFRyYW5zYWN0aW9uUmVzcG9uc2UsIFRyYW5zYWN0aW9uUmVxdWVzdCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L2Fic3RyYWN0LXByb3ZpZGVyJ1xuZXhwb3J0IGludGVyZmFjZSBFbnYge1xuICBwcm92aWRlclVybDogc3RyaW5nXG4gIHBrPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEVWTURlcGVuZGVuY2llcyA9IERlcGVuZGVuY2llczxcbiAgRXRoZXJzUHJvdmlkZXIsXG4gIENvbnRyYWN0RmFjdG9yeSxcbiAgVHJhbnNhY3Rpb25SZXF1ZXN0LFxuICBUcmFuc2FjdGlvblJlc3BvbnNlLFxuICBFdGhlcnNXYWxsZXQsXG4gIEVudlxuPlxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL2RlcGVuZGVuY2llcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJhY3RGYWN0b3J5IH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvY29udHJhY3RzJ1xuaW1wb3J0IHsgV2FsbGV0IGFzIEV0aGVyc1dhbGxldCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L3dhbGxldCdcbmltcG9ydCB7IERlcGVuZGVuY2llcyB9IGZyb20gJy4uLy4uL2NvcmUvZGVwZW5kZW5jaWVzJ1xuaW1wb3J0IHsgUHJvdmlkZXIgYXMgRXRoZXJzUHJvdmlkZXIsIFRyYW5zYWN0aW9uUmVzcG9uc2UsIFRyYW5zYWN0aW9uUmVxdWVzdCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L2Fic3RyYWN0LXByb3ZpZGVyJ1xuZXhwb3J0IGludGVyZmFjZSBFbnYge1xuICBwcm92aWRlclVybDogc3RyaW5nXG4gIHBrPzogc3RyaW5nXG4gIC8vIE5PVEU6IGV2bS1nYXVudGxldCBzaG91bGQgbm90IG5lZWQgYmUgYXdhcmUgb2YgdGhlIHNhZmUgZW52IHZhcnNcbiAgLy8gQmUgY2FyZWZ1bCB3aGVuIGFkZGluZyBuZXcgZW52IHZhcnMgaGVyZVxuICBzYWZlTWFzdGVyQ29weT86IHN0cmluZ1xuICBzYWZlUHJveHlGYWN0b3J5Pzogc3RyaW5nXG4gIHNhZmVNdWx0aXNlbmQ/OiBzdHJpbmdcbiAgc2FmZUFkZHJlc3M/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRVZNRGVwZW5kZW5jaWVzID0gRGVwZW5kZW5jaWVzPFxuICBFdGhlcnNQcm92aWRlcixcbiAgQ29udHJhY3RGYWN0b3J5LFxuICBUcmFuc2FjdGlvblJlcXVlc3QsXG4gIFRyYW5zYWN0aW9uUmVzcG9uc2UsXG4gIEV0aGVyc1dhbGxldCxcbiAgRW52XG4+XG4iXX0=

@@ -15,2 +15,3 @@ import { IProvider } from '../../core';

signAndSend: (wallet: IWallet<EthersWallet>, calls: TransactionRequest[]) => Promise<EVMTransaction>;
simulate: (wallet: IWallet<EthersWallet>, call: TransactionRequest, opts?: Record<string, any>) => Promise<string>;
}

@@ -17,0 +18,0 @@ export declare const makeProvider: (baseUrl: string) => Provider;

@@ -5,2 +5,3 @@ "use strict";

const ethers_1 = require("ethers");
const REVERT_CODE = '0x08c379a';
const wrapResponse = (response, address) => {

@@ -41,2 +42,17 @@ const evmResponse = {

};
this.simulate = async (wallet, call, opts) => {
const returnValue = await this.provider.call({
to: call.to,
from: wallet.wallet.address,
data: call.data,
value: ethers_1.BigNumber.from(call.value),
gasPrice: 0,
gasLimit: !opts || !opts.gasLimit ? 0 : opts.gasLimit,
});
if (returnValue && returnValue.startsWith(REVERT_CODE)) {
const result = ethers_1.ethers.utils.toUtf8String(`0x${returnValue ? returnValue.substr(138) : ''}`);
throw new Error(`Simulated call reverted with reason: ${result}.`);
}
return returnValue;
};
this.provider = new ethers_1.ethers.providers.JsonRpcProvider(baseUrl);

@@ -49,2 +65,2 @@ }

exports.makeProvider = makeProvider;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL3Byb3ZpZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1DQUErQjtBQVMvQixNQUFNLFlBQVksR0FBRyxDQUFDLFFBQXFCLEVBQUUsT0FBZ0IsRUFBa0IsRUFBRTtJQUMvRSxNQUFNLFdBQVcsR0FBbUI7UUFDbEMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJO1FBQ25CLE9BQU8sRUFBRSxPQUFPLElBQUksUUFBUSxDQUFDLEVBQUU7UUFDL0IsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ2YsTUFBTSxPQUFPLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDckMsTUFBTSxPQUFPLEdBQUcsT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtZQUN2RCxXQUFXLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUE7WUFDdEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hCLFdBQVcsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQTthQUM5QztZQUNELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFBO1FBQzdELENBQUM7UUFDRCxFQUFFLEVBQUUsUUFBUTtRQUNaLE1BQU0sRUFBRSxTQUFTO0tBQ2xCLENBQUE7SUFDRCxPQUFPLFdBQVcsQ0FBQTtBQUNwQixDQUFDLENBQUE7QUFFRCxNQUFNLFFBQVE7SUFHWixZQUFZLE9BQWU7UUFJM0IsU0FBSSxHQUFHLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUN4QixNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQ3hELE9BQU8sWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3pCLENBQUMsQ0FBQTtRQUVELG1CQUFjLEdBQUcsS0FBSyxFQUFFLE1BQTZCLEVBQUUsUUFBeUIsRUFBRSxLQUFVLEVBQUUsRUFBRTtZQUM5RixNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFBO1lBQzNELE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFDaEQsQ0FBQyxDQUFBO1FBRUQsZ0JBQVcsR0FBRyxLQUFLLEVBQUUsTUFBNkIsRUFBRSxLQUEyQixFQUFFLEVBQUU7WUFDakYsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFBO1lBQzdFLE1BQU0sZUFBZSxHQUFHLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQ2xFLE1BQU0sRUFBRSxHQUFHLE1BQU0sZUFBZSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUMxRCxPQUFPLFlBQVksQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQ3RDLENBQUMsQ0FBQTtRQWxCQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDL0QsQ0FBQztDQWtCRjtBQUVNLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7SUFDOUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUM5QixDQUFDLENBQUE7QUFGWSxRQUFBLFlBQVksZ0JBRXhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vY29yZSdcbmltcG9ydCB7IFByb3ZpZGVyIGFzIEV0aGVyc1Byb3ZpZGVyIH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvYWJzdHJhY3QtcHJvdmlkZXInXG5pbXBvcnQgeyBldGhlcnMgfSBmcm9tICdldGhlcnMnXG5pbXBvcnQgeyBDb250cmFjdEZhY3RvcnkgfSBmcm9tICdAZXRoZXJzcHJvamVjdC9jb250cmFjdHMnXG5pbXBvcnQgeyBFVk1UcmFuc2FjdGlvbiB9IGZyb20gJy4uL3RyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgSVdhbGxldCB9IGZyb20gJy4uLy4uL2NvcmUvd2FsbGV0J1xuaW1wb3J0IHsgV2FsbGV0IGFzIEV0aGVyc1dhbGxldCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L3dhbGxldCdcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVzcG9uc2UgYXMgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uUmVxdWVzdCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L2Fic3RyYWN0LXByb3ZpZGVyJ1xuXG5leHBvcnQgdHlwZSBFVk1Qcm92aWRlciA9IElQcm92aWRlcjxFdGhlcnNQcm92aWRlciwgQ29udHJhY3RGYWN0b3J5LCBUcmFuc2FjdGlvblJlcXVlc3QsIFRyYW5zYWN0aW9uLCBFdGhlcnNXYWxsZXQ+XG5cbmNvbnN0IHdyYXBSZXNwb25zZSA9IChyZXNwb25zZTogVHJhbnNhY3Rpb24sIGFkZHJlc3M/OiBzdHJpbmcpOiBFVk1UcmFuc2FjdGlvbiA9PiB7XG4gIGNvbnN0IGV2bVJlc3BvbnNlOiBFVk1UcmFuc2FjdGlvbiA9IHtcbiAgICBoYXNoOiByZXNwb25zZS5oYXNoLFxuICAgIGFkZHJlc3M6IGFkZHJlc3MgfHwgcmVzcG9uc2UudG8sXG4gICAgd2FpdDogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVjZWlwdCA9IGF3YWl0IHJlc3BvbnNlLndhaXQoKVxuICAgICAgY29uc3Qgc3VjY2VzcyA9IHJlY2VpcHQgPT0gbnVsbCB8fCByZWNlaXB0LnN0YXR1cyA9PT0gMVxuICAgICAgZXZtUmVzcG9uc2Uuc3RhdHVzID0gc3VjY2VzcyA/ICdBQ0NFUFRFRCcgOiAnUkVKRUNURUQnXG4gICAgICBpZiAoIWV2bVJlc3BvbnNlLmFkZHJlc3MpIHtcbiAgICAgICAgZXZtUmVzcG9uc2UuYWRkcmVzcyA9IHJlY2VpcHQuY29udHJhY3RBZGRyZXNzXG4gICAgICB9XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiByZWNlaXB0ID09IG51bGwgfHwgcmVjZWlwdC5zdGF0dXMgPT09IDEgfVxuICAgIH0sXG4gICAgdHg6IHJlc3BvbnNlLFxuICAgIHN0YXR1czogJ1BFTkRJTkcnLFxuICB9XG4gIHJldHVybiBldm1SZXNwb25zZVxufVxuXG5jbGFzcyBQcm92aWRlciBpbXBsZW1lbnRzIEVWTVByb3ZpZGVyIHtcbiAgcHJvdmlkZXI6IEV0aGVyc1Byb3ZpZGVyXG5cbiAgY29uc3RydWN0b3IoYmFzZVVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5wcm92aWRlciA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihiYXNlVXJsKVxuICB9XG5cbiAgc2VuZCA9IGFzeW5jIChzaWduZWRUeCkgPT4ge1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdGhpcy5wcm92aWRlci5zZW5kVHJhbnNhY3Rpb24oc2lnbmVkVHgpXG4gICAgcmV0dXJuIHdyYXBSZXNwb25zZSh0eClcbiAgfVxuXG4gIGRlcGxveUNvbnRyYWN0ID0gYXN5bmMgKHdhbGxldDogSVdhbGxldDxFdGhlcnNXYWxsZXQ+LCBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5LCBpbnB1dDogYW55KSA9PiB7XG4gICAgY29uc3QgdHhSZXEgPSBhd2FpdCBjb250cmFjdC5nZXREZXBsb3lUcmFuc2FjdGlvbiguLi5pbnB1dClcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5zaWduQW5kU2VuZCh3YWxsZXQsIFt0eFJlcV0pXG4gIH1cblxuICBzaWduQW5kU2VuZCA9IGFzeW5jICh3YWxsZXQ6IElXYWxsZXQ8RXRoZXJzV2FsbGV0PiwgY2FsbHM6IFRyYW5zYWN0aW9uUmVxdWVzdFtdKSA9PiB7XG4gICAgaWYgKGNhbGxzLmxlbmd0aCA+IDEpIHRocm93IG5ldyBFcnJvcignRVZNIGRvZXMgbm90IHN1cHBvcnQgbmF0aXZlIGJhdGNoaW5nJylcbiAgICBjb25zdCBjb25uZWN0ZWRXYWxsZXQgPSBhd2FpdCB3YWxsZXQud2FsbGV0LmNvbm5lY3QodGhpcy5wcm92aWRlcilcbiAgICBjb25zdCB0eCA9IGF3YWl0IGNvbm5lY3RlZFdhbGxldC5zZW5kVHJhbnNhY3Rpb24oY2FsbHNbMF0pXG4gICAgcmV0dXJuIHdyYXBSZXNwb25zZSh0eCwgY2FsbHNbMF0udG8pXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG1ha2VQcm92aWRlciA9IChiYXNlVXJsOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIG5ldyBQcm92aWRlcihiYXNlVXJsKVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL3Byb3ZpZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLG1DQUEwQztBQVMxQyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUE7QUFFL0IsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFxQixFQUFFLE9BQWdCLEVBQWtCLEVBQUU7SUFDL0UsTUFBTSxXQUFXLEdBQW1CO1FBQ2xDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtRQUNuQixPQUFPLEVBQUUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxFQUFFO1FBQy9CLElBQUksRUFBRSxLQUFLLElBQUksRUFBRTtZQUNmLE1BQU0sT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ3JDLE1BQU0sT0FBTyxHQUFHLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUE7WUFDdkQsV0FBVyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFBO1lBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO2dCQUN4QixXQUFXLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUE7YUFDOUM7WUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQTtRQUM3RCxDQUFDO1FBQ0QsRUFBRSxFQUFFLFFBQVE7UUFDWixNQUFNLEVBQUUsU0FBUztLQUNsQixDQUFBO0lBQ0QsT0FBTyxXQUFXLENBQUE7QUFDcEIsQ0FBQyxDQUFBO0FBRUQsTUFBTSxRQUFRO0lBR1osWUFBWSxPQUFlO1FBSTNCLFNBQUksR0FBRyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDeEIsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUN4RCxPQUFPLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN6QixDQUFDLENBQUE7UUFFRCxtQkFBYyxHQUFHLEtBQUssRUFBRSxNQUE2QixFQUFFLFFBQXlCLEVBQUUsS0FBVSxFQUFFLEVBQUU7WUFDOUYsTUFBTSxLQUFLLEdBQUcsTUFBTSxRQUFRLENBQUMsb0JBQW9CLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQTtZQUMzRCxPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ2hELENBQUMsQ0FBQTtRQUVELGdCQUFXLEdBQUcsS0FBSyxFQUFFLE1BQTZCLEVBQUUsS0FBMkIsRUFBRSxFQUFFO1lBQ2pGLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtZQUM3RSxNQUFNLGVBQWUsR0FBRyxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtZQUNsRSxNQUFNLEVBQUUsR0FBRyxNQUFNLGVBQWUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDMUQsT0FBTyxZQUFZLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUN0QyxDQUFDLENBQUE7UUFFRCxhQUFRLEdBQUcsS0FBSyxFQUNkLE1BQTZCLEVBQzdCLElBQXdCLEVBQ3hCLElBQTBCLEVBQ1QsRUFBRTtZQUNuQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUMzQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ1gsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTztnQkFDM0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLEtBQUssRUFBRSxrQkFBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNqQyxRQUFRLEVBQUUsQ0FBQztnQkFDWCxRQUFRLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRO2FBQ3RELENBQUMsQ0FBQTtZQUNGLElBQUksV0FBVyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3RELE1BQU0sTUFBTSxHQUFHLGVBQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO2dCQUMzRixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxNQUFNLEdBQUcsQ0FBQyxDQUFBO2FBQ25FO1lBRUQsT0FBTyxXQUFXLENBQUE7UUFDcEIsQ0FBQyxDQUFBO1FBdkNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0NBdUNGO0FBRU0sTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFlLEVBQUUsRUFBRTtJQUM5QyxPQUFPLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzlCLENBQUMsQ0FBQTtBQUZZLFFBQUEsWUFBWSxnQkFFeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9jb3JlJ1xuaW1wb3J0IHsgUHJvdmlkZXIgYXMgRXRoZXJzUHJvdmlkZXIgfSBmcm9tICdAZXRoZXJzcHJvamVjdC9hYnN0cmFjdC1wcm92aWRlcidcbmltcG9ydCB7IGV0aGVycywgQmlnTnVtYmVyIH0gZnJvbSAnZXRoZXJzJ1xuaW1wb3J0IHsgQ29udHJhY3RGYWN0b3J5IH0gZnJvbSAnQGV0aGVyc3Byb2plY3QvY29udHJhY3RzJ1xuaW1wb3J0IHsgRVZNVHJhbnNhY3Rpb24gfSBmcm9tICcuLi90cmFuc2FjdGlvbidcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi9jb3JlL3dhbGxldCdcbmltcG9ydCB7IFdhbGxldCBhcyBFdGhlcnNXYWxsZXQgfSBmcm9tICdAZXRoZXJzcHJvamVjdC93YWxsZXQnXG5pbXBvcnQgeyBUcmFuc2FjdGlvblJlc3BvbnNlIGFzIFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvblJlcXVlc3QgfSBmcm9tICdAZXRoZXJzcHJvamVjdC9hYnN0cmFjdC1wcm92aWRlcidcblxuZXhwb3J0IHR5cGUgRVZNUHJvdmlkZXIgPSBJUHJvdmlkZXI8RXRoZXJzUHJvdmlkZXIsIENvbnRyYWN0RmFjdG9yeSwgVHJhbnNhY3Rpb25SZXF1ZXN0LCBUcmFuc2FjdGlvbiwgRXRoZXJzV2FsbGV0PlxuXG5jb25zdCBSRVZFUlRfQ09ERSA9ICcweDA4YzM3OWEnXG5cbmNvbnN0IHdyYXBSZXNwb25zZSA9IChyZXNwb25zZTogVHJhbnNhY3Rpb24sIGFkZHJlc3M/OiBzdHJpbmcpOiBFVk1UcmFuc2FjdGlvbiA9PiB7XG4gIGNvbnN0IGV2bVJlc3BvbnNlOiBFVk1UcmFuc2FjdGlvbiA9IHtcbiAgICBoYXNoOiByZXNwb25zZS5oYXNoLFxuICAgIGFkZHJlc3M6IGFkZHJlc3MgfHwgcmVzcG9uc2UudG8sXG4gICAgd2FpdDogYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgcmVjZWlwdCA9IGF3YWl0IHJlc3BvbnNlLndhaXQoKVxuICAgICAgY29uc3Qgc3VjY2VzcyA9IHJlY2VpcHQgPT0gbnVsbCB8fCByZWNlaXB0LnN0YXR1cyA9PT0gMVxuICAgICAgZXZtUmVzcG9uc2Uuc3RhdHVzID0gc3VjY2VzcyA/ICdBQ0NFUFRFRCcgOiAnUkVKRUNURUQnXG4gICAgICBpZiAoIWV2bVJlc3BvbnNlLmFkZHJlc3MpIHtcbiAgICAgICAgZXZtUmVzcG9uc2UuYWRkcmVzcyA9IHJlY2VpcHQuY29udHJhY3RBZGRyZXNzXG4gICAgICB9XG4gICAgICByZXR1cm4geyBzdWNjZXNzOiByZWNlaXB0ID09IG51bGwgfHwgcmVjZWlwdC5zdGF0dXMgPT09IDEgfVxuICAgIH0sXG4gICAgdHg6IHJlc3BvbnNlLFxuICAgIHN0YXR1czogJ1BFTkRJTkcnLFxuICB9XG4gIHJldHVybiBldm1SZXNwb25zZVxufVxuXG5jbGFzcyBQcm92aWRlciBpbXBsZW1lbnRzIEVWTVByb3ZpZGVyIHtcbiAgcHJvdmlkZXI6IEV0aGVyc1Byb3ZpZGVyXG5cbiAgY29uc3RydWN0b3IoYmFzZVVybDogc3RyaW5nKSB7XG4gICAgdGhpcy5wcm92aWRlciA9IG5ldyBldGhlcnMucHJvdmlkZXJzLkpzb25ScGNQcm92aWRlcihiYXNlVXJsKVxuICB9XG5cbiAgc2VuZCA9IGFzeW5jIChzaWduZWRUeCkgPT4ge1xuICAgIGNvbnN0IHR4ID0gYXdhaXQgdGhpcy5wcm92aWRlci5zZW5kVHJhbnNhY3Rpb24oc2lnbmVkVHgpXG4gICAgcmV0dXJuIHdyYXBSZXNwb25zZSh0eClcbiAgfVxuXG4gIGRlcGxveUNvbnRyYWN0ID0gYXN5bmMgKHdhbGxldDogSVdhbGxldDxFdGhlcnNXYWxsZXQ+LCBjb250cmFjdDogQ29udHJhY3RGYWN0b3J5LCBpbnB1dDogYW55KSA9PiB7XG4gICAgY29uc3QgdHhSZXEgPSBhd2FpdCBjb250cmFjdC5nZXREZXBsb3lUcmFuc2FjdGlvbiguLi5pbnB1dClcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5zaWduQW5kU2VuZCh3YWxsZXQsIFt0eFJlcV0pXG4gIH1cblxuICBzaWduQW5kU2VuZCA9IGFzeW5jICh3YWxsZXQ6IElXYWxsZXQ8RXRoZXJzV2FsbGV0PiwgY2FsbHM6IFRyYW5zYWN0aW9uUmVxdWVzdFtdKSA9PiB7XG4gICAgaWYgKGNhbGxzLmxlbmd0aCA+IDEpIHRocm93IG5ldyBFcnJvcignRVZNIGRvZXMgbm90IHN1cHBvcnQgbmF0aXZlIGJhdGNoaW5nJylcbiAgICBjb25zdCBjb25uZWN0ZWRXYWxsZXQgPSBhd2FpdCB3YWxsZXQud2FsbGV0LmNvbm5lY3QodGhpcy5wcm92aWRlcilcbiAgICBjb25zdCB0eCA9IGF3YWl0IGNvbm5lY3RlZFdhbGxldC5zZW5kVHJhbnNhY3Rpb24oY2FsbHNbMF0pXG4gICAgcmV0dXJuIHdyYXBSZXNwb25zZSh0eCwgY2FsbHNbMF0udG8pXG4gIH1cblxuICBzaW11bGF0ZSA9IGFzeW5jIChcbiAgICB3YWxsZXQ6IElXYWxsZXQ8RXRoZXJzV2FsbGV0PixcbiAgICBjYWxsOiBUcmFuc2FjdGlvblJlcXVlc3QsXG4gICAgb3B0cz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICk6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gICAgY29uc3QgcmV0dXJuVmFsdWUgPSBhd2FpdCB0aGlzLnByb3ZpZGVyLmNhbGwoe1xuICAgICAgdG86IGNhbGwudG8sXG4gICAgICBmcm9tOiB3YWxsZXQud2FsbGV0LmFkZHJlc3MsXG4gICAgICBkYXRhOiBjYWxsLmRhdGEsXG4gICAgICB2YWx1ZTogQmlnTnVtYmVyLmZyb20oY2FsbC52YWx1ZSksXG4gICAgICBnYXNQcmljZTogMCxcbiAgICAgIGdhc0xpbWl0OiAhb3B0cyB8fCAhb3B0cy5nYXNMaW1pdCA/IDAgOiBvcHRzLmdhc0xpbWl0LFxuICAgIH0pXG4gICAgaWYgKHJldHVyblZhbHVlICYmIHJldHVyblZhbHVlLnN0YXJ0c1dpdGgoUkVWRVJUX0NPREUpKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBldGhlcnMudXRpbHMudG9VdGY4U3RyaW5nKGAweCR7cmV0dXJuVmFsdWUgPyByZXR1cm5WYWx1ZS5zdWJzdHIoMTM4KSA6ICcnfWApXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFNpbXVsYXRlZCBjYWxsIHJldmVydGVkIHdpdGggcmVhc29uOiAke3Jlc3VsdH0uYClcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0dXJuVmFsdWVcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgbWFrZVByb3ZpZGVyID0gKGJhc2VVcmw6IHN0cmluZykgPT4ge1xuICByZXR1cm4gbmV3IFByb3ZpZGVyKGJhc2VVcmwpXG59XG4iXX0=

@@ -5,3 +5,3 @@ import { Wallet as EthersWallet } from '@ethersproject/wallet';

export declare type EVMWallet = IWallet<EthersWallet>;
export declare const makeWallet: (env: Env, flags: any) => EVMWallet;
export declare const makeWallet: (env: Env, flags: any) => EVMWallet | null;
//# sourceMappingURL=index.d.ts.map

@@ -6,3 +6,7 @@ "use strict";

const makeWallet = (env, flags) => {
return Wallet.create(env.pk);
// If the user wants to export the transaction and sign it externally,
// there's no need to generate an unused wallet object
if (flags.export)
return null;
return Wallet.create(flags.privatekey || env.pk);
};

@@ -20,2 +24,2 @@ exports.makeWallet = makeWallet;

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL3dhbGxldC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBOEQ7QUFNdkQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFRLEVBQUUsS0FBSyxFQUFhLEVBQUU7SUFDdkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUM5QixDQUFDLENBQUE7QUFGWSxRQUFBLFVBQVUsY0FFdEI7QUFFRCxNQUFNLE1BQU07SUFHVixZQUFvQixPQUFlO1FBUW5DLFNBQUksR0FBRyxDQUFDLE9BQVksRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFBO1FBRTNCLGlCQUFZLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUE7UUFUdkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN6QyxDQUFDOztBQUVNLGFBQU0sR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO0lBQ2xDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDNUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2FsbGV0IGFzIEV0aGVyc1dhbGxldCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L3dhbGxldCdcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuaW1wb3J0IHsgRW52IH0gZnJvbSAnLi4vZGVwZW5kZW5jaWVzJ1xuXG5leHBvcnQgdHlwZSBFVk1XYWxsZXQgPSBJV2FsbGV0PEV0aGVyc1dhbGxldD5cblxuZXhwb3J0IGNvbnN0IG1ha2VXYWxsZXQgPSAoZW52OiBFbnYsIGZsYWdzKTogRVZNV2FsbGV0ID0+IHtcbiAgcmV0dXJuIFdhbGxldC5jcmVhdGUoZW52LnBrKVxufVxuXG5jbGFzcyBXYWxsZXQgaW1wbGVtZW50cyBFVk1XYWxsZXQge1xuICB3YWxsZXQ6IEV0aGVyc1dhbGxldFxuXG4gIHByaXZhdGUgY29uc3RydWN0b3Ioa2V5cGFpcjogc3RyaW5nKSB7XG4gICAgdGhpcy53YWxsZXQgPSBuZXcgRXRoZXJzV2FsbGV0KGtleXBhaXIpXG4gIH1cblxuICBzdGF0aWMgY3JlYXRlID0gKGtleXBhaXI6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBuZXcgV2FsbGV0KGtleXBhaXIpXG4gIH1cblxuICBzaWduID0gKG1lc3NhZ2U6IGFueSkgPT4ge31cblxuICBnZXRQdWJsaWNLZXkgPSBhc3luYyAoKSA9PiBhd2FpdCB0aGlzLndhbGxldC5nZXRBZGRyZXNzKClcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZXZtL3dhbGxldC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBOEQ7QUFNdkQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFRLEVBQUUsS0FBSyxFQUFvQixFQUFFO0lBQzlELHNFQUFzRTtJQUN0RSxzREFBc0Q7SUFDdEQsSUFBSSxLQUFLLENBQUMsTUFBTTtRQUFFLE9BQU8sSUFBSSxDQUFBO0lBQzdCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUNsRCxDQUFDLENBQUE7QUFMWSxRQUFBLFVBQVUsY0FLdEI7QUFFRCxNQUFNLE1BQU07SUFHVixZQUFvQixPQUFlO1FBUW5DLFNBQUksR0FBRyxDQUFDLE9BQVksRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFBO1FBRTNCLGlCQUFZLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUE7UUFUdkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUN6QyxDQUFDOztBQUVNLGFBQU0sR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO0lBQ2xDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDNUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2FsbGV0IGFzIEV0aGVyc1dhbGxldCB9IGZyb20gJ0BldGhlcnNwcm9qZWN0L3dhbGxldCdcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi9jb3JlJ1xuaW1wb3J0IHsgRW52IH0gZnJvbSAnLi4vZGVwZW5kZW5jaWVzJ1xuXG5leHBvcnQgdHlwZSBFVk1XYWxsZXQgPSBJV2FsbGV0PEV0aGVyc1dhbGxldD5cblxuZXhwb3J0IGNvbnN0IG1ha2VXYWxsZXQgPSAoZW52OiBFbnYsIGZsYWdzKTogRVZNV2FsbGV0IHwgbnVsbCA9PiB7XG4gIC8vIElmIHRoZSB1c2VyIHdhbnRzIHRvIGV4cG9ydCB0aGUgdHJhbnNhY3Rpb24gYW5kIHNpZ24gaXQgZXh0ZXJuYWxseSxcbiAgLy8gdGhlcmUncyBubyBuZWVkIHRvIGdlbmVyYXRlIGFuIHVudXNlZCB3YWxsZXQgb2JqZWN0XG4gIGlmIChmbGFncy5leHBvcnQpIHJldHVybiBudWxsXG4gIHJldHVybiBXYWxsZXQuY3JlYXRlKGZsYWdzLnByaXZhdGVrZXkgfHwgZW52LnBrKVxufVxuXG5jbGFzcyBXYWxsZXQgaW1wbGVtZW50cyBFVk1XYWxsZXQge1xuICB3YWxsZXQ6IEV0aGVyc1dhbGxldFxuXG4gIHByaXZhdGUgY29uc3RydWN0b3Ioa2V5cGFpcjogc3RyaW5nKSB7XG4gICAgdGhpcy53YWxsZXQgPSBuZXcgRXRoZXJzV2FsbGV0KGtleXBhaXIpXG4gIH1cblxuICBzdGF0aWMgY3JlYXRlID0gKGtleXBhaXI6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBuZXcgV2FsbGV0KGtleXBhaXIpXG4gIH1cblxuICBzaWduID0gKG1lc3NhZ2U6IGFueSkgPT4ge31cblxuICBnZXRQdWJsaWNLZXkgPSBhc3luYyAoKSA9PiBhd2FpdCB0aGlzLndhbGxldC5nZXRBZGRyZXNzKClcbn1cbiJdfQ==

@@ -7,2 +7,3 @@ export * from './evm/commands';

export * from './evm/wallet';
export * from './utils';
//# sourceMappingURL=index.d.ts.map

@@ -11,2 +11,3 @@ "use strict";

tslib_1.__exportStar(require("./evm/wallet"), exports);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBQTREO0FBQzVELHlEQUE4QjtBQUM5QixpREFBc0I7QUFFdEIsNkRBQWtDO0FBQ2xDLHlEQUE4QjtBQUM5Qiw0REFBaUM7QUFDakMsdURBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVE9ETzogVGhlc2UgYXJlIHRoZSB0eXBlcyB0aGF0IHNob3VsZCBnbyB0byBnYXVudGxldC1jb3JlXG5leHBvcnQgKiBmcm9tICcuL2V2bS9jb21tYW5kcydcbmV4cG9ydCAqIGZyb20gJy4vY29yZSdcblxuZXhwb3J0ICogZnJvbSAnLi9ldm0vZGVwZW5kZW5jaWVzJ1xuZXhwb3J0ICogZnJvbSAnLi9ldm0vcHJvdmlkZXInXG5leHBvcnQgKiBmcm9tICcuL2V2bS90cmFuc2FjdGlvbidcbmV4cG9ydCAqIGZyb20gJy4vZXZtL3dhbGxldCdcbiJdfQ==
tslib_1.__exportStar(require("./utils"), exports);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBQTREO0FBQzVELHlEQUE4QjtBQUM5QixpREFBc0I7QUFFdEIsNkRBQWtDO0FBQ2xDLHlEQUE4QjtBQUM5Qiw0REFBaUM7QUFDakMsdURBQTRCO0FBQzVCLGtEQUF1QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRPRE86IFRoZXNlIGFyZSB0aGUgdHlwZXMgdGhhdCBzaG91bGQgZ28gdG8gZ2F1bnRsZXQtY29yZVxuZXhwb3J0ICogZnJvbSAnLi9ldm0vY29tbWFuZHMnXG5leHBvcnQgKiBmcm9tICcuL2NvcmUnXG5cbmV4cG9ydCAqIGZyb20gJy4vZXZtL2RlcGVuZGVuY2llcydcbmV4cG9ydCAqIGZyb20gJy4vZXZtL3Byb3ZpZGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9ldm0vdHJhbnNhY3Rpb24nXG5leHBvcnQgKiBmcm9tICcuL2V2bS93YWxsZXQnXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzJ1xuIl19

@@ -0,4 +1,9 @@

export declare type CommandFlag = {
name: string;
required: boolean;
};
export declare const validateRequiredFlags: (allFlags: any, commandFlags: CommandFlag[]) => void;
export declare const runValidationOnKeys: (validationFunc: (Object: any) => Promise<boolean>, allInputs: Object, fields: string[]) => Promise<boolean>;
export declare const validateEthAddress: (input: Object) => Promise<boolean>;
export declare const validateAllKeysAreAddresses: (input: Object) => Promise<boolean>;
export declare const isValidAddress: (value: any) => boolean;
//# sourceMappingURL=utils.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isValidAddress = exports.validateEthAddress = exports.runValidationOnKeys = void 0;
exports.isValidAddress = exports.validateAllKeysAreAddresses = exports.runValidationOnKeys = exports.validateRequiredFlags = void 0;
const ethers_1 = require("ethers");
const validateRequiredFlags = (allFlags, commandFlags) => {
commandFlags
.filter((flag) => flag.required)
.forEach((flag) => {
if (!allFlags[flag.name]) {
throw new Error(`The ${flag.name} flag is not set!`);
}
});
};
exports.validateRequiredFlags = validateRequiredFlags;
const runValidationOnKeys = async (validationFunc, allInputs, fields) => {

@@ -14,3 +24,3 @@ const relevantInputs = fields.reduce((agg, field) => {

// dependency on ethers
const validateEthAddress = async (input) => {
const validateAllKeysAreAddresses = async (input) => {
const invalidAddressProps = Object.entries(input).filter(([_, value]) => !ethers_1.ethers.utils.isAddress(value));

@@ -22,5 +32,5 @@ if (invalidAddressProps.length > 0) {

};
exports.validateEthAddress = validateEthAddress;
const isValidAddress = (value) => !ethers_1.ethers.utils.isAddress(value);
exports.validateAllKeysAreAddresses = validateAllKeysAreAddresses;
const isValidAddress = (value) => ethers_1.ethers.utils.isAddress(value);
exports.isValidAddress = isValidAddress;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQStCO0FBRXhCLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxFQUN0QyxjQUE0QyxFQUM1QyxTQUFpQixFQUNqQixNQUFnQixFQUNFLEVBQUU7SUFDcEIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNsRCxPQUFPLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFBO0lBQ3RGLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLE9BQU8sY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0FBQ3ZDLENBQUMsQ0FBQTtBQVZZLFFBQUEsbUJBQW1CLHVCQVUvQjtBQUVELGdHQUFnRztBQUNoRyx1QkFBdUI7QUFDaEIsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLEVBQUUsS0FBYSxFQUFvQixFQUFFO0lBQzFFLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3hHLElBQUksbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7S0FDL0c7SUFFRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQTtBQVBZLFFBQUEsa0JBQWtCLHNCQU85QjtBQUVNLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGVBQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQTFELFFBQUEsY0FBYyxrQkFBNEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBldGhlcnMgfSBmcm9tICdldGhlcnMnXG5cbmV4cG9ydCBjb25zdCBydW5WYWxpZGF0aW9uT25LZXlzID0gYXN5bmMgKFxuICB2YWxpZGF0aW9uRnVuYzogKE9iamVjdCkgPT4gUHJvbWlzZTxib29sZWFuPixcbiAgYWxsSW5wdXRzOiBPYmplY3QsXG4gIGZpZWxkczogc3RyaW5nW10sXG4pOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgY29uc3QgcmVsZXZhbnRJbnB1dHMgPSBmaWVsZHMucmVkdWNlKChhZ2csIGZpZWxkKSA9PiB7XG4gICAgcmV0dXJuIGFsbElucHV0cy5oYXNPd25Qcm9wZXJ0eShmaWVsZCkgPyB7IC4uLmFnZywgW2ZpZWxkXTogYWxsSW5wdXRzW2ZpZWxkXSB9IDogYWdnXG4gIH0sIHt9KVxuXG4gIHJldHVybiB2YWxpZGF0aW9uRnVuYyhyZWxldmFudElucHV0cylcbn1cblxuLy8gV2UgYWRkIHRoaXMgdmFsaWRhdGlvbiBoZXJlIHJhdGhlciB0aGFuIGluIGdhdW50bGV0LWNvcmUgYmVjYXVzZSBnYXVudGxldC1jb3JlIGRvZXNuJ3QgaGF2ZSBhXG4vLyBkZXBlbmRlbmN5IG9uIGV0aGVyc1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlRXRoQWRkcmVzcyA9IGFzeW5jIChpbnB1dDogT2JqZWN0KTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gIGNvbnN0IGludmFsaWRBZGRyZXNzUHJvcHMgPSBPYmplY3QuZW50cmllcyhpbnB1dCkuZmlsdGVyKChbXywgdmFsdWVdKSA9PiAhZXRoZXJzLnV0aWxzLmlzQWRkcmVzcyh2YWx1ZSkpXG4gIGlmIChpbnZhbGlkQWRkcmVzc1Byb3BzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBmb2xsb3dpbmcgaW5wdXRzIG11c3QgYmUgdmFsaWQgYWRkcmVzc2VzIFwiJHtpbnZhbGlkQWRkcmVzc1Byb3BzLm1hcCgoW3Byb3BdKSA9PiBwcm9wKX1cImApXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgaXNWYWxpZEFkZHJlc3MgPSAodmFsdWUpID0+ICFldGhlcnMudXRpbHMuaXNBZGRyZXNzKHZhbHVlKVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQStCO0FBT3hCLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxRQUFhLEVBQUUsWUFBMkIsRUFBRSxFQUFFO0lBQ2xGLFlBQVk7U0FDVCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7U0FDL0IsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLG1CQUFtQixDQUFDLENBQUE7U0FDckQ7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQVJZLFFBQUEscUJBQXFCLHlCQVFqQztBQUVNLE1BQU0sbUJBQW1CLEdBQUcsS0FBSyxFQUN0QyxjQUE0QyxFQUM1QyxTQUFpQixFQUNqQixNQUFnQixFQUNFLEVBQUU7SUFDcEIsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUNsRCxPQUFPLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFBO0lBQ3RGLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLE9BQU8sY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFBO0FBQ3ZDLENBQUMsQ0FBQTtBQVZZLFFBQUEsbUJBQW1CLHVCQVUvQjtBQUVELGdHQUFnRztBQUNoRyx1QkFBdUI7QUFDaEIsTUFBTSwyQkFBMkIsR0FBRyxLQUFLLEVBQUUsS0FBYSxFQUFvQixFQUFFO0lBQ25GLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQ3hHLElBQUksbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7S0FDL0c7SUFFRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMsQ0FBQTtBQVBZLFFBQUEsMkJBQTJCLCtCQU92QztBQUVNLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxlQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUF6RCxRQUFBLGNBQWMsa0JBQTJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXRoZXJzIH0gZnJvbSAnZXRoZXJzJ1xuXG5leHBvcnQgdHlwZSBDb21tYW5kRmxhZyA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIHJlcXVpcmVkOiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlcXVpcmVkRmxhZ3MgPSAoYWxsRmxhZ3M6IGFueSwgY29tbWFuZEZsYWdzOiBDb21tYW5kRmxhZ1tdKSA9PiB7XG4gIGNvbW1hbmRGbGFnc1xuICAgIC5maWx0ZXIoKGZsYWcpID0+IGZsYWcucmVxdWlyZWQpXG4gICAgLmZvckVhY2goKGZsYWcpID0+IHtcbiAgICAgIGlmICghYWxsRmxhZ3NbZmxhZy5uYW1lXSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSAke2ZsYWcubmFtZX0gZmxhZyBpcyBub3Qgc2V0IWApXG4gICAgICB9XG4gICAgfSlcbn1cblxuZXhwb3J0IGNvbnN0IHJ1blZhbGlkYXRpb25PbktleXMgPSBhc3luYyAoXG4gIHZhbGlkYXRpb25GdW5jOiAoT2JqZWN0KSA9PiBQcm9taXNlPGJvb2xlYW4+LFxuICBhbGxJbnB1dHM6IE9iamVjdCxcbiAgZmllbGRzOiBzdHJpbmdbXSxcbik6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICBjb25zdCByZWxldmFudElucHV0cyA9IGZpZWxkcy5yZWR1Y2UoKGFnZywgZmllbGQpID0+IHtcbiAgICByZXR1cm4gYWxsSW5wdXRzLmhhc093blByb3BlcnR5KGZpZWxkKSA/IHsgLi4uYWdnLCBbZmllbGRdOiBhbGxJbnB1dHNbZmllbGRdIH0gOiBhZ2dcbiAgfSwge30pXG5cbiAgcmV0dXJuIHZhbGlkYXRpb25GdW5jKHJlbGV2YW50SW5wdXRzKVxufVxuXG4vLyBXZSBhZGQgdGhpcyB2YWxpZGF0aW9uIGhlcmUgcmF0aGVyIHRoYW4gaW4gZ2F1bnRsZXQtY29yZSBiZWNhdXNlIGdhdW50bGV0LWNvcmUgZG9lc24ndCBoYXZlIGFcbi8vIGRlcGVuZGVuY3kgb24gZXRoZXJzXG5leHBvcnQgY29uc3QgdmFsaWRhdGVBbGxLZXlzQXJlQWRkcmVzc2VzID0gYXN5bmMgKGlucHV0OiBPYmplY3QpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgY29uc3QgaW52YWxpZEFkZHJlc3NQcm9wcyA9IE9iamVjdC5lbnRyaWVzKGlucHV0KS5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+ICFldGhlcnMudXRpbHMuaXNBZGRyZXNzKHZhbHVlKSlcbiAgaWYgKGludmFsaWRBZGRyZXNzUHJvcHMubGVuZ3RoID4gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVGhlIGZvbGxvd2luZyBpbnB1dHMgbXVzdCBiZSB2YWxpZCBhZGRyZXNzZXMgXCIke2ludmFsaWRBZGRyZXNzUHJvcHMubWFwKChbcHJvcF0pID0+IHByb3ApfVwiYClcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBpc1ZhbGlkQWRkcmVzcyA9ICh2YWx1ZSkgPT4gZXRoZXJzLnV0aWxzLmlzQWRkcmVzcyh2YWx1ZSlcbiJdfQ==
{
"name": "@chainlink/evm-gauntlet",
"version": "0.1.0",
"version": "0.2.0",
"description": "Gauntlet EVM",

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

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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