@chainlink/evm-gauntlet-svr 0.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ export type UserInput = {};
2
+ declare const _default: (deps: import("@chainlink/evm-gauntlet").Dependencies<import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").BasicEnv>) => import("@chainlink/evm-gauntlet").CommandCtor<import("@chainlink/evm-gauntlet/dist/core/commands/base/types").ExecuteCommandInstance<UserInput, [], import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").ExecutionContext<import("ethers").AbstractSigner<import("ethers").Provider>, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse>>>;
3
+ export default _default;
4
+ //# sourceMappingURL=acceptGovernance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acceptGovernance.d.ts","sourceRoot":"","sources":["../../../src/commands/dapp-control/acceptGovernance.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,SAAS,GAAG,EAAE,CAAA;;AAiC1B,wBAAmD"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const evm_gauntlet_1 = require("@chainlink/evm-gauntlet");
4
+ const contracts_1 = require("../../lib/contracts");
5
+ const categories_1 = require("../../lib/categories");
6
+ const makeUserInput = async (flags, args, env) => ({});
7
+ const makeContractInput = async (input) => {
8
+ return [];
9
+ };
10
+ const beforeExecute = (context, input, deps) => async () => {
11
+ deps.logger.log(`Accepting governance for contract addresses: ${context.contractAddress}`);
12
+ };
13
+ const commandConfig = {
14
+ contractId: contracts_1.CONTRACT_LIST.CHAINLINK_OEV_DAPP_CONTROL,
15
+ action: 'accept',
16
+ internalFunction: 'acceptGovernance',
17
+ category: categories_1.CATEGORIES.DAPP_CONTROL,
18
+ ux: {
19
+ description: 'Accepts governance of contracts',
20
+ examples: [
21
+ `${categories_1.CATEGORIES.DAPP_CONTROL}:accept --network=<NETWORK> [CONTRACT ADDRESS]`,
22
+ `${categories_1.CATEGORIES.DAPP_CONTROL}:accept --network=<NETWORK> 0x...`,
23
+ ],
24
+ },
25
+ makeUserInput,
26
+ makeContractInput,
27
+ loadContract: contracts_1.ChainlinkOevDAppControlContractLoader,
28
+ hooks: { beforeExecute },
29
+ validations: [],
30
+ };
31
+ exports.default = (0, evm_gauntlet_1.makeEVMExecuteCommand)(commandConfig);
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXB0R292ZXJuYW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9kYXBwLWNvbnRyb2wvYWNjZXB0R292ZXJuYW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBEQUEwRztBQUMxRyxtREFBMEY7QUFDMUYscURBQWlEO0FBTWpELE1BQU0sYUFBYSxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBc0IsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7QUFFMUUsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLEVBQUUsS0FBZ0IsRUFBMEIsRUFBRTtJQUMzRSxPQUFPLEVBQUUsQ0FBQTtBQUNYLENBQUMsQ0FBQTtBQUVELE1BQU0sYUFBYSxHQUErQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRTtJQUNyRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7QUFDNUYsQ0FBQyxDQUFBO0FBRUQsTUFBTSxhQUFhLEdBQXNEO0lBQ3ZFLFVBQVUsRUFBRSx5QkFBYSxDQUFDLDBCQUEwQjtJQUNwRCxNQUFNLEVBQUUsUUFBUTtJQUNoQixnQkFBZ0IsRUFBRSxrQkFBa0I7SUFDcEMsUUFBUSxFQUFFLHVCQUFVLENBQUMsWUFBWTtJQUNqQyxFQUFFLEVBQUU7UUFDRixXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLFFBQVEsRUFBRTtZQUNSLEdBQUcsdUJBQVUsQ0FBQyxZQUFZLGdEQUFnRDtZQUMxRSxHQUFHLHVCQUFVLENBQUMsWUFBWSxtQ0FBbUM7U0FDOUQ7S0FDRjtJQUNELGFBQWE7SUFDYixpQkFBaUI7SUFDakIsWUFBWSxFQUFFLGlEQUFxQztJQUNuRCxLQUFLLEVBQUUsRUFBRSxhQUFhLEVBQUU7SUFDeEIsV0FBVyxFQUFFLEVBQUU7Q0FDaEIsQ0FBQTtBQUVELGtCQUFlLElBQUEsb0NBQXFCLEVBQUMsYUFBYSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFVk1CZWZvcmVFeGVjdXRlLCBFVk1FeGVjdXRlQ29tbWFuZENvbmZpZywgbWFrZUVWTUV4ZWN1dGVDb21tYW5kIH0gZnJvbSAnQGNoYWlubGluay9ldm0tZ2F1bnRsZXQnXG5pbXBvcnQgeyBDT05UUkFDVF9MSVNULCBDaGFpbmxpbmtPZXZEQXBwQ29udHJvbENvbnRyYWN0TG9hZGVyIH0gZnJvbSAnLi4vLi4vbGliL2NvbnRyYWN0cydcbmltcG9ydCB7IENBVEVHT1JJRVMgfSBmcm9tICcuLi8uLi9saWIvY2F0ZWdvcmllcydcblxuZXhwb3J0IHR5cGUgVXNlcklucHV0ID0ge31cblxudHlwZSBDb250cmFjdElucHV0ID0gW11cblxuY29uc3QgbWFrZVVzZXJJbnB1dCA9IGFzeW5jIChmbGFncywgYXJncywgZW52KTogUHJvbWlzZTxVc2VySW5wdXQ+ID0+ICh7fSlcblxuY29uc3QgbWFrZUNvbnRyYWN0SW5wdXQgPSBhc3luYyAoaW5wdXQ6IFVzZXJJbnB1dCk6IFByb21pc2U8Q29udHJhY3RJbnB1dD4gPT4ge1xuICByZXR1cm4gW11cbn1cblxuY29uc3QgYmVmb3JlRXhlY3V0ZTogRVZNQmVmb3JlRXhlY3V0ZTxVc2VySW5wdXQsIENvbnRyYWN0SW5wdXQ+ID0gKGNvbnRleHQsIGlucHV0LCBkZXBzKSA9PiBhc3luYyAoKSA9PiB7XG4gIGRlcHMubG9nZ2VyLmxvZyhgQWNjZXB0aW5nIGdvdmVybmFuY2UgZm9yIGNvbnRyYWN0IGFkZHJlc3NlczogJHtjb250ZXh0LmNvbnRyYWN0QWRkcmVzc31gKVxufVxuXG5jb25zdCBjb21tYW5kQ29uZmlnOiBFVk1FeGVjdXRlQ29tbWFuZENvbmZpZzxVc2VySW5wdXQsIENvbnRyYWN0SW5wdXQ+ID0ge1xuICBjb250cmFjdElkOiBDT05UUkFDVF9MSVNULkNIQUlOTElOS19PRVZfREFQUF9DT05UUk9MLFxuICBhY3Rpb246ICdhY2NlcHQnLFxuICBpbnRlcm5hbEZ1bmN0aW9uOiAnYWNjZXB0R292ZXJuYW5jZScsXG4gIGNhdGVnb3J5OiBDQVRFR09SSUVTLkRBUFBfQ09OVFJPTCxcbiAgdXg6IHtcbiAgICBkZXNjcmlwdGlvbjogJ0FjY2VwdHMgZ292ZXJuYW5jZSBvZiBjb250cmFjdHMnLFxuICAgIGV4YW1wbGVzOiBbXG4gICAgICBgJHtDQVRFR09SSUVTLkRBUFBfQ09OVFJPTH06YWNjZXB0IC0tbmV0d29yaz08TkVUV09SSz4gW0NPTlRSQUNUIEFERFJFU1NdYCxcbiAgICAgIGAke0NBVEVHT1JJRVMuREFQUF9DT05UUk9MfTphY2NlcHQgLS1uZXR3b3JrPTxORVRXT1JLPiAweC4uLmAsXG4gICAgXSxcbiAgfSxcbiAgbWFrZVVzZXJJbnB1dCxcbiAgbWFrZUNvbnRyYWN0SW5wdXQsXG4gIGxvYWRDb250cmFjdDogQ2hhaW5saW5rT2V2REFwcENvbnRyb2xDb250cmFjdExvYWRlcixcbiAgaG9va3M6IHsgYmVmb3JlRXhlY3V0ZSB9LFxuICB2YWxpZGF0aW9uczogW10sXG59XG5cbmV4cG9ydCBkZWZhdWx0IG1ha2VFVk1FeGVjdXRlQ29tbWFuZChjb21tYW5kQ29uZmlnKVxuIl19
@@ -0,0 +1,16 @@
1
+ type DeployDAppControlInput = {
2
+ atlas: string;
3
+ oevShareFastlane: bigint;
4
+ oevAllocationDestinationFastlane: string;
5
+ oevAllocationDestinationProtocol: string;
6
+ };
7
+ export type UserInput = DeployDAppControlInput;
8
+ type ContractInput = [
9
+ atlas: string,
10
+ oevShareFastlane: bigint,
11
+ oevAllocationDestinationFastlane: string,
12
+ oevAllocationDestinationProtocol: string
13
+ ];
14
+ declare const _default: (deps: import("@chainlink/evm-gauntlet").Dependencies<import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").BasicEnv>) => import("@chainlink/evm-gauntlet").CommandCtor<import("@chainlink/evm-gauntlet/dist/core/commands/base/types").ExecuteCommandInstance<DeployDAppControlInput, ContractInput, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").ExecutionContext<import("ethers").AbstractSigner<import("ethers").Provider>, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse>>>;
15
+ export default _default;
16
+ //# sourceMappingURL=deploy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/commands/dapp-control/deploy.ts"],"names":[],"mappings":"AAUA,KAAK,sBAAsB,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,EAAE,MAAM,CAAA;IACxB,gCAAgC,EAAE,MAAM,CAAA;IACxC,gCAAgC,EAAE,MAAM,CAAA;CACzC,CAAA;AASD,MAAM,MAAM,SAAS,GAAG,sBAAsB,CAAA;AAE9C,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM;IACb,gBAAgB,EAAE,MAAM;IACxB,gCAAgC,EAAE,MAAM;IACxC,gCAAgC,EAAE,MAAM;CACzC,CAAA;;AA0DD,wBAAmD"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const evm_gauntlet_1 = require("@chainlink/evm-gauntlet");
4
+ const categories_1 = require("../../lib/categories");
5
+ const contracts_1 = require("../../lib/contracts");
6
+ const userFlags = [
7
+ { name: 'atlas', required: true },
8
+ { name: 'oevShareFastlane', required: true },
9
+ { name: 'oevAllocationDestinationFastlane', required: true },
10
+ { name: 'oevAllocationDestinationProtocol', required: true },
11
+ ];
12
+ const makeUserInput = async (flags, args, env) => {
13
+ if (flags.input)
14
+ return flags.input;
15
+ (0, evm_gauntlet_1.validateRequiredFlags)(flags, userFlags);
16
+ return {
17
+ atlas: flags.atlas,
18
+ oevShareFastlane: BigInt(flags.oevShareFastlane),
19
+ oevAllocationDestinationFastlane: flags.oevAllocationDestinationFastlane,
20
+ oevAllocationDestinationProtocol: flags.oevAllocationDestinationProtocol,
21
+ };
22
+ };
23
+ const beforeExecute = (context, input, deps) => async () => {
24
+ deps.logger.log('user input', input.user);
25
+ };
26
+ const afterExecute = (context, input, deps) => async (result) => {
27
+ const versionData = (0, contracts_1.obtainContractVersion)(contracts_1.CONTRACT_LIST.CHAINLINK_OEV_DAPP_CONTROL);
28
+ const tx = result.responses[0].tx.hash;
29
+ const { blockNumber } = await context.provider.provider.getTransactionReceipt(tx);
30
+ return {
31
+ blockNumber: blockNumber,
32
+ contractVersion: versionData.contractVersion,
33
+ solcVersion: versionData.solcVersion,
34
+ txHash: tx,
35
+ };
36
+ };
37
+ const commandConfig = {
38
+ contractId: contracts_1.CONTRACT_LIST.CHAINLINK_OEV_DAPP_CONTROL,
39
+ action: 'deploy',
40
+ category: categories_1.CATEGORIES.DAPP_CONTROL,
41
+ ux: {
42
+ description: 'Deploys a new Flags Contract',
43
+ examples: [
44
+ `${categories_1.CATEGORIES.DAPP_CONTROL}:deploy --network=<NETWORK> --atlas=<ATLAS> --oevShareFastlane=<OEV SHARE FASTLANE (BPS)> --oevAllocationDestinationFastlane=<OEV ALLOCATION DESTINATION FASTLANE> --oevAllocationDestinationProtocol=<OEV ALLOCATION DESTINATION PROTOCOL>`,
45
+ `${categories_1.CATEGORIES.DAPP_CONTROL}:deploy --network=goerli --atlas=0x0000000000000000000000000000000000000000 --oevShareFastlane=1000 --oevAllocationDestinationFastlane=0x0000000000000000000000000000000000000000 --oevAllocationDestinationProtocol=0x0000000000000000000000000000000000000000`,
46
+ ],
47
+ },
48
+ makeUserInput: makeUserInput,
49
+ makeContractInput: async (input) => [
50
+ input.atlas,
51
+ input.oevShareFastlane,
52
+ input.oevAllocationDestinationFastlane,
53
+ input.oevAllocationDestinationProtocol,
54
+ ],
55
+ loadContract: contracts_1.ChainlinkOevDAppControlContractLoader,
56
+ hooks: {
57
+ beforeExecute,
58
+ afterExecute,
59
+ },
60
+ validations: [],
61
+ };
62
+ exports.default = (0, evm_gauntlet_1.makeEVMExecuteCommand)(commandConfig);
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2RhcHAtY29udHJvbC9kZXBsb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwREFNZ0M7QUFDaEMscURBQWlEO0FBQ2pELG1EQUFpSDtBQVNqSCxNQUFNLFNBQVMsR0FBRztJQUNoQixFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtJQUNqQyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO0lBQzVDLEVBQUUsSUFBSSxFQUFFLGtDQUFrQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7SUFDNUQsRUFBRSxJQUFJLEVBQUUsa0NBQWtDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtDQUM3RCxDQUFBO0FBV0QsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFzQixFQUFFO0lBQ25FLElBQUksS0FBSyxDQUFDLEtBQUs7UUFBRSxPQUFPLEtBQUssQ0FBQyxLQUFrQixDQUFBO0lBRWhELElBQUEsb0NBQXFCLEVBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBRXZDLE9BQU87UUFDTCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7UUFDbEIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsZ0NBQWdDO1FBQ3hFLGdDQUFnQyxFQUFFLEtBQUssQ0FBQyxnQ0FBZ0M7S0FDekUsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sYUFBYSxHQUErQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRTtJQUNyRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzNDLENBQUMsQ0FBQTtBQUVELE1BQU0sWUFBWSxHQUE4QyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUU7SUFDekcsTUFBTSxXQUFXLEdBQUcsSUFBQSxpQ0FBcUIsRUFBQyx5QkFBYSxDQUFDLDBCQUEwQixDQUFDLENBQUE7SUFDbkYsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFBO0lBQ3RDLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRWpGLE9BQU87UUFDTCxXQUFXLEVBQUUsV0FBVztRQUN4QixlQUFlLEVBQUUsV0FBVyxDQUFDLGVBQWU7UUFDNUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxXQUFXO1FBQ3BDLE1BQU0sRUFBRSxFQUFFO0tBQ1gsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sYUFBYSxHQUFzRDtJQUN2RSxVQUFVLEVBQUUseUJBQWEsQ0FBQywwQkFBMEI7SUFDcEQsTUFBTSxFQUFFLFFBQVE7SUFDaEIsUUFBUSxFQUFFLHVCQUFVLENBQUMsWUFBWTtJQUNqQyxFQUFFLEVBQUU7UUFDRixXQUFXLEVBQUUsOEJBQThCO1FBQzNDLFFBQVEsRUFBRTtZQUNSLEdBQUcsdUJBQVUsQ0FBQyxZQUFZLDZPQUE2TztZQUN2USxHQUFHLHVCQUFVLENBQUMsWUFBWSxpUUFBaVE7U0FDNVI7S0FDRjtJQUNELGFBQWEsRUFBRSxhQUFhO0lBQzVCLGlCQUFpQixFQUFFLEtBQUssRUFBRSxLQUFnQixFQUEwQixFQUFFLENBQUM7UUFDckUsS0FBSyxDQUFDLEtBQUs7UUFDWCxLQUFLLENBQUMsZ0JBQWdCO1FBQ3RCLEtBQUssQ0FBQyxnQ0FBZ0M7UUFDdEMsS0FBSyxDQUFDLGdDQUFnQztLQUN2QztJQUNELFlBQVksRUFBRSxpREFBcUM7SUFDbkQsS0FBSyxFQUFFO1FBQ0wsYUFBYTtRQUNiLFlBQVk7S0FDYjtJQUNELFdBQVcsRUFBRSxFQUFFO0NBQ2hCLENBQUE7QUFFRCxrQkFBZSxJQUFBLG9DQUFxQixFQUFDLGFBQWEsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRVZNQWZ0ZXJFeGVjdXRlLFxuICBFVk1CZWZvcmVFeGVjdXRlLFxuICBFVk1FeGVjdXRlQ29tbWFuZENvbmZpZyxcbiAgbWFrZUVWTUV4ZWN1dGVDb21tYW5kLFxuICB2YWxpZGF0ZVJlcXVpcmVkRmxhZ3MsXG59IGZyb20gJ0BjaGFpbmxpbmsvZXZtLWdhdW50bGV0J1xuaW1wb3J0IHsgQ0FURUdPUklFUyB9IGZyb20gJy4uLy4uL2xpYi9jYXRlZ29yaWVzJ1xuaW1wb3J0IHsgQ09OVFJBQ1RfTElTVCwgQ2hhaW5saW5rT2V2REFwcENvbnRyb2xDb250cmFjdExvYWRlciwgb2J0YWluQ29udHJhY3RWZXJzaW9uIH0gZnJvbSAnLi4vLi4vbGliL2NvbnRyYWN0cydcblxudHlwZSBEZXBsb3lEQXBwQ29udHJvbElucHV0ID0ge1xuICBhdGxhczogc3RyaW5nXG4gIG9ldlNoYXJlRmFzdGxhbmU6IGJpZ2ludFxuICBvZXZBbGxvY2F0aW9uRGVzdGluYXRpb25GYXN0bGFuZTogc3RyaW5nXG4gIG9ldkFsbG9jYXRpb25EZXN0aW5hdGlvblByb3RvY29sOiBzdHJpbmdcbn1cblxuY29uc3QgdXNlckZsYWdzID0gW1xuICB7IG5hbWU6ICdhdGxhcycsIHJlcXVpcmVkOiB0cnVlIH0sXG4gIHsgbmFtZTogJ29ldlNoYXJlRmFzdGxhbmUnLCByZXF1aXJlZDogdHJ1ZSB9LFxuICB7IG5hbWU6ICdvZXZBbGxvY2F0aW9uRGVzdGluYXRpb25GYXN0bGFuZScsIHJlcXVpcmVkOiB0cnVlIH0sXG4gIHsgbmFtZTogJ29ldkFsbG9jYXRpb25EZXN0aW5hdGlvblByb3RvY29sJywgcmVxdWlyZWQ6IHRydWUgfSxcbl1cblxuZXhwb3J0IHR5cGUgVXNlcklucHV0ID0gRGVwbG95REFwcENvbnRyb2xJbnB1dFxuXG50eXBlIENvbnRyYWN0SW5wdXQgPSBbXG4gIGF0bGFzOiBzdHJpbmcsXG4gIG9ldlNoYXJlRmFzdGxhbmU6IGJpZ2ludCxcbiAgb2V2QWxsb2NhdGlvbkRlc3RpbmF0aW9uRmFzdGxhbmU6IHN0cmluZyxcbiAgb2V2QWxsb2NhdGlvbkRlc3RpbmF0aW9uUHJvdG9jb2w6IHN0cmluZyxcbl1cblxuY29uc3QgbWFrZVVzZXJJbnB1dCA9IGFzeW5jIChmbGFncywgYXJncywgZW52KTogUHJvbWlzZTxVc2VySW5wdXQ+ID0+IHtcbiAgaWYgKGZsYWdzLmlucHV0KSByZXR1cm4gZmxhZ3MuaW5wdXQgYXMgVXNlcklucHV0XG5cbiAgdmFsaWRhdGVSZXF1aXJlZEZsYWdzKGZsYWdzLCB1c2VyRmxhZ3MpXG5cbiAgcmV0dXJuIHtcbiAgICBhdGxhczogZmxhZ3MuYXRsYXMsXG4gICAgb2V2U2hhcmVGYXN0bGFuZTogQmlnSW50KGZsYWdzLm9ldlNoYXJlRmFzdGxhbmUpLFxuICAgIG9ldkFsbG9jYXRpb25EZXN0aW5hdGlvbkZhc3RsYW5lOiBmbGFncy5vZXZBbGxvY2F0aW9uRGVzdGluYXRpb25GYXN0bGFuZSxcbiAgICBvZXZBbGxvY2F0aW9uRGVzdGluYXRpb25Qcm90b2NvbDogZmxhZ3Mub2V2QWxsb2NhdGlvbkRlc3RpbmF0aW9uUHJvdG9jb2wsXG4gIH1cbn1cblxuY29uc3QgYmVmb3JlRXhlY3V0ZTogRVZNQmVmb3JlRXhlY3V0ZTxVc2VySW5wdXQsIENvbnRyYWN0SW5wdXQ+ID0gKGNvbnRleHQsIGlucHV0LCBkZXBzKSA9PiBhc3luYyAoKSA9PiB7XG4gIGRlcHMubG9nZ2VyLmxvZygndXNlciBpbnB1dCcsIGlucHV0LnVzZXIpXG59XG5cbmNvbnN0IGFmdGVyRXhlY3V0ZTogRVZNQWZ0ZXJFeGVjdXRlPFVzZXJJbnB1dCwgQ29udHJhY3RJbnB1dD4gPSAoY29udGV4dCwgaW5wdXQsIGRlcHMpID0+IGFzeW5jIChyZXN1bHQpID0+IHtcbiAgY29uc3QgdmVyc2lvbkRhdGEgPSBvYnRhaW5Db250cmFjdFZlcnNpb24oQ09OVFJBQ1RfTElTVC5DSEFJTkxJTktfT0VWX0RBUFBfQ09OVFJPTClcbiAgY29uc3QgdHggPSByZXN1bHQucmVzcG9uc2VzWzBdLnR4Lmhhc2hcbiAgY29uc3QgeyBibG9ja051bWJlciB9ID0gYXdhaXQgY29udGV4dC5wcm92aWRlci5wcm92aWRlci5nZXRUcmFuc2FjdGlvblJlY2VpcHQodHgpXG5cbiAgcmV0dXJuIHtcbiAgICBibG9ja051bWJlcjogYmxvY2tOdW1iZXIsXG4gICAgY29udHJhY3RWZXJzaW9uOiB2ZXJzaW9uRGF0YS5jb250cmFjdFZlcnNpb24sXG4gICAgc29sY1ZlcnNpb246IHZlcnNpb25EYXRhLnNvbGNWZXJzaW9uLFxuICAgIHR4SGFzaDogdHgsXG4gIH1cbn1cblxuY29uc3QgY29tbWFuZENvbmZpZzogRVZNRXhlY3V0ZUNvbW1hbmRDb25maWc8VXNlcklucHV0LCBDb250cmFjdElucHV0PiA9IHtcbiAgY29udHJhY3RJZDogQ09OVFJBQ1RfTElTVC5DSEFJTkxJTktfT0VWX0RBUFBfQ09OVFJPTCxcbiAgYWN0aW9uOiAnZGVwbG95JyxcbiAgY2F0ZWdvcnk6IENBVEVHT1JJRVMuREFQUF9DT05UUk9MLFxuICB1eDoge1xuICAgIGRlc2NyaXB0aW9uOiAnRGVwbG95cyBhIG5ldyBGbGFncyBDb250cmFjdCcsXG4gICAgZXhhbXBsZXM6IFtcbiAgICAgIGAke0NBVEVHT1JJRVMuREFQUF9DT05UUk9MfTpkZXBsb3kgLS1uZXR3b3JrPTxORVRXT1JLPiAtLWF0bGFzPTxBVExBUz4gLS1vZXZTaGFyZUZhc3RsYW5lPTxPRVYgU0hBUkUgRkFTVExBTkUgKEJQUyk+IC0tb2V2QWxsb2NhdGlvbkRlc3RpbmF0aW9uRmFzdGxhbmU9PE9FViBBTExPQ0FUSU9OIERFU1RJTkFUSU9OIEZBU1RMQU5FPiAtLW9ldkFsbG9jYXRpb25EZXN0aW5hdGlvblByb3RvY29sPTxPRVYgQUxMT0NBVElPTiBERVNUSU5BVElPTiBQUk9UT0NPTD5gLFxuICAgICAgYCR7Q0FURUdPUklFUy5EQVBQX0NPTlRST0x9OmRlcGxveSAtLW5ldHdvcms9Z29lcmxpIC0tYXRsYXM9MHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIC0tb2V2U2hhcmVGYXN0bGFuZT0xMDAwIC0tb2V2QWxsb2NhdGlvbkRlc3RpbmF0aW9uRmFzdGxhbmU9MHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIC0tb2V2QWxsb2NhdGlvbkRlc3RpbmF0aW9uUHJvdG9jb2w9MHgwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwYCxcbiAgICBdLFxuICB9LFxuICBtYWtlVXNlcklucHV0OiBtYWtlVXNlcklucHV0LFxuICBtYWtlQ29udHJhY3RJbnB1dDogYXN5bmMgKGlucHV0OiBVc2VySW5wdXQpOiBQcm9taXNlPENvbnRyYWN0SW5wdXQ+ID0+IFtcbiAgICBpbnB1dC5hdGxhcyxcbiAgICBpbnB1dC5vZXZTaGFyZUZhc3RsYW5lLFxuICAgIGlucHV0Lm9ldkFsbG9jYXRpb25EZXN0aW5hdGlvbkZhc3RsYW5lLFxuICAgIGlucHV0Lm9ldkFsbG9jYXRpb25EZXN0aW5hdGlvblByb3RvY29sLFxuICBdLFxuICBsb2FkQ29udHJhY3Q6IENoYWlubGlua09ldkRBcHBDb250cm9sQ29udHJhY3RMb2FkZXIsXG4gIGhvb2tzOiB7XG4gICAgYmVmb3JlRXhlY3V0ZSxcbiAgICBhZnRlckV4ZWN1dGUsXG4gIH0sXG4gIHZhbGlkYXRpb25zOiBbXSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgbWFrZUVWTUV4ZWN1dGVDb21tYW5kKGNvbW1hbmRDb25maWcpXG4iXX0=
@@ -0,0 +1,9 @@
1
+ export declare const executeCommands: (((deps: import("@chainlink/evm-gauntlet").Dependencies<import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").BasicEnv>) => import("@chainlink/evm-gauntlet").CommandCtor<import("@chainlink/evm-gauntlet/dist/core/commands/base/types").ExecuteCommandInstance<import("./acceptGovernance").UserInput, [], import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").ExecutionContext<import("ethers").AbstractSigner<import("ethers").Provider>, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse>>>) | ((deps: import("@chainlink/evm-gauntlet").Dependencies<import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").BasicEnv>) => import("@chainlink/evm-gauntlet").CommandCtor<import("@chainlink/evm-gauntlet/dist/core/commands/base/types").ExecuteCommandInstance<{
2
+ to: string;
3
+ }, [to: string], import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").ExecutionContext<import("ethers").AbstractSigner<import("ethers").Provider>, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse>>>) | ((deps: import("@chainlink/evm-gauntlet").Dependencies<import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").BasicEnv>) => import("@chainlink/evm-gauntlet").CommandCtor<import("@chainlink/evm-gauntlet/dist/core/commands/base/types").ExecuteCommandInstance<{
4
+ atlas: string;
5
+ oevShareFastlane: bigint;
6
+ oevAllocationDestinationFastlane: string;
7
+ oevAllocationDestinationProtocol: string;
8
+ }, [atlas: string, oevShareFastlane: bigint, oevAllocationDestinationFastlane: string, oevAllocationDestinationProtocol: string], import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").ExecutionContext<import("ethers").AbstractSigner<import("ethers").Provider>, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse>>>))[];
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/dapp-control/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe;;;;;;;8oBAAiD,CAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeCommands = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const acceptGovernance_1 = tslib_1.__importDefault(require("./acceptGovernance"));
6
+ const transferGovernance_1 = tslib_1.__importDefault(require("./transferGovernance"));
7
+ const deploy_1 = tslib_1.__importDefault(require("./deploy"));
8
+ exports.executeCommands = [acceptGovernance_1.default, transferGovernance_1.default, deploy_1.default];
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvZGFwcC1jb250cm9sL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxrRkFBaUQ7QUFDakQsc0ZBQXFEO0FBQ3JELDhEQUE2QjtBQUVoQixRQUFBLGVBQWUsR0FBRyxDQUFDLDBCQUFnQixFQUFFLDRCQUFrQixFQUFFLGdCQUFNLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBY2NlcHRHb3Zlcm5hbmNlIGZyb20gJy4vYWNjZXB0R292ZXJuYW5jZSdcbmltcG9ydCBUcmFuc2ZlckdvdmVybmFuY2UgZnJvbSAnLi90cmFuc2ZlckdvdmVybmFuY2UnXG5pbXBvcnQgRGVwbG95IGZyb20gJy4vZGVwbG95J1xuXG5leHBvcnQgY29uc3QgZXhlY3V0ZUNvbW1hbmRzID0gW0FjY2VwdEdvdmVybmFuY2UsIFRyYW5zZmVyR292ZXJuYW5jZSwgRGVwbG95XVxuIl19
@@ -0,0 +1,8 @@
1
+ type TransferOwnershipInput = {
2
+ to: string;
3
+ };
4
+ export type UserInput = TransferOwnershipInput;
5
+ type ContractInput = [to: string];
6
+ declare const _default: (deps: import("@chainlink/evm-gauntlet").Dependencies<import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").BasicEnv>) => import("@chainlink/evm-gauntlet").CommandCtor<import("@chainlink/evm-gauntlet/dist/core/commands/base/types").ExecuteCommandInstance<TransferOwnershipInput, ContractInput, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").ExecutionContext<import("ethers").AbstractSigner<import("ethers").Provider>, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse>>>;
7
+ export default _default;
8
+ //# sourceMappingURL=transferGovernance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transferGovernance.d.ts","sourceRoot":"","sources":["../../../src/commands/dapp-control/transferGovernance.ts"],"names":[],"mappings":"AAIA,KAAK,sBAAsB,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAA;CACX,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,sBAAsB,CAAA;AAE9C,KAAK,aAAa,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;;AAkCjC,wBAAmD"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const evm_gauntlet_1 = require("@chainlink/evm-gauntlet");
4
+ const categories_1 = require("../../lib/categories");
5
+ const contracts_1 = require("../../lib/contracts");
6
+ const makeUserInput = async (flags, args, env) => {
7
+ if (flags.input)
8
+ return flags.input;
9
+ return {
10
+ to: flags.to,
11
+ };
12
+ };
13
+ const beforeExecute = (context, input, deps) => async () => {
14
+ deps.logger.log(`Transfering ownership for contract addresses: ${context.contractAddress}, to user address: ${input.user.to}`);
15
+ };
16
+ const commandConfig = {
17
+ contractId: contracts_1.CONTRACT_LIST.CHAINLINK_OEV_DAPP_CONTROL,
18
+ action: 'transfer_governance',
19
+ internalFunction: 'transferGovernance',
20
+ category: categories_1.CATEGORIES.DAPP_CONTROL,
21
+ ux: {
22
+ description: 'Transfer governance of contracts',
23
+ examples: [
24
+ `yarn gauntlet ${categories_1.CATEGORIES.DAPP_CONTROL}:transfer --owner=<TO_ADDRESS> <CONTRACT ADDRESSES> --network=<NETWORK>`,
25
+ `yarn gauntlet ${categories_1.CATEGORIES.DAPP_CONTROL}:transfer --to=0x... 0x...`,
26
+ ],
27
+ },
28
+ makeUserInput: makeUserInput,
29
+ makeContractInput: async (input) => [input.to],
30
+ loadContract: contracts_1.ChainlinkOevDAppControlContractLoader,
31
+ hooks: { beforeExecute },
32
+ validations: [],
33
+ };
34
+ exports.default = (0, evm_gauntlet_1.makeEVMExecuteCommand)(commandConfig);
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJHb3Zlcm5hbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2RhcHAtY29udHJvbC90cmFuc2ZlckdvdmVybmFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwwREFBMEc7QUFDMUcscURBQWlEO0FBQ2pELG1EQUEwRjtBQVUxRixNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQXNCLEVBQUU7SUFDbkUsSUFBSSxLQUFLLENBQUMsS0FBSztRQUFFLE9BQU8sS0FBSyxDQUFDLEtBQWtCLENBQUE7SUFDaEQsT0FBTztRQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtLQUNiLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxNQUFNLGFBQWEsR0FBK0MsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUU7SUFDckcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQ2IsaURBQWlELE9BQU8sQ0FBQyxlQUFlLHVCQUF1QixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUMvRyxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxhQUFhLEdBQXNEO0lBQ3ZFLFVBQVUsRUFBRSx5QkFBYSxDQUFDLDBCQUEwQjtJQUNwRCxNQUFNLEVBQUUscUJBQXFCO0lBQzdCLGdCQUFnQixFQUFFLG9CQUFvQjtJQUN0QyxRQUFRLEVBQUUsdUJBQVUsQ0FBQyxZQUFZO0lBQ2pDLEVBQUUsRUFBRTtRQUNGLFdBQVcsRUFBRSxrQ0FBa0M7UUFDL0MsUUFBUSxFQUFFO1lBQ1IsaUJBQWlCLHVCQUFVLENBQUMsWUFBWSx5RUFBeUU7WUFDakgsaUJBQWlCLHVCQUFVLENBQUMsWUFBWSw0QkFBNEI7U0FDckU7S0FDRjtJQUNELGFBQWEsRUFBRSxhQUFhO0lBQzVCLGlCQUFpQixFQUFFLEtBQUssRUFBRSxLQUFnQixFQUEwQixFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO0lBQ2pGLFlBQVksRUFBRSxpREFBcUM7SUFDbkQsS0FBSyxFQUFFLEVBQUUsYUFBYSxFQUFFO0lBQ3hCLFdBQVcsRUFBRSxFQUFFO0NBQ2hCLENBQUE7QUFFRCxrQkFBZSxJQUFBLG9DQUFxQixFQUFDLGFBQWEsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRVZNQmVmb3JlRXhlY3V0ZSwgRVZNRXhlY3V0ZUNvbW1hbmRDb25maWcsIG1ha2VFVk1FeGVjdXRlQ29tbWFuZCB9IGZyb20gJ0BjaGFpbmxpbmsvZXZtLWdhdW50bGV0J1xuaW1wb3J0IHsgQ0FURUdPUklFUyB9IGZyb20gJy4uLy4uL2xpYi9jYXRlZ29yaWVzJ1xuaW1wb3J0IHsgQ09OVFJBQ1RfTElTVCwgQ2hhaW5saW5rT2V2REFwcENvbnRyb2xDb250cmFjdExvYWRlciB9IGZyb20gJy4uLy4uL2xpYi9jb250cmFjdHMnXG5cbnR5cGUgVHJhbnNmZXJPd25lcnNoaXBJbnB1dCA9IHtcbiAgdG86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBVc2VySW5wdXQgPSBUcmFuc2Zlck93bmVyc2hpcElucHV0XG5cbnR5cGUgQ29udHJhY3RJbnB1dCA9IFt0bzogc3RyaW5nXVxuXG5jb25zdCBtYWtlVXNlcklucHV0ID0gYXN5bmMgKGZsYWdzLCBhcmdzLCBlbnYpOiBQcm9taXNlPFVzZXJJbnB1dD4gPT4ge1xuICBpZiAoZmxhZ3MuaW5wdXQpIHJldHVybiBmbGFncy5pbnB1dCBhcyBVc2VySW5wdXRcbiAgcmV0dXJuIHtcbiAgICB0bzogZmxhZ3MudG8sXG4gIH1cbn1cblxuY29uc3QgYmVmb3JlRXhlY3V0ZTogRVZNQmVmb3JlRXhlY3V0ZTxVc2VySW5wdXQsIENvbnRyYWN0SW5wdXQ+ID0gKGNvbnRleHQsIGlucHV0LCBkZXBzKSA9PiBhc3luYyAoKSA9PiB7XG4gIGRlcHMubG9nZ2VyLmxvZyhcbiAgICBgVHJhbnNmZXJpbmcgb3duZXJzaGlwIGZvciBjb250cmFjdCBhZGRyZXNzZXM6ICR7Y29udGV4dC5jb250cmFjdEFkZHJlc3N9LCB0byB1c2VyIGFkZHJlc3M6ICAke2lucHV0LnVzZXIudG99YCxcbiAgKVxufVxuXG5jb25zdCBjb21tYW5kQ29uZmlnOiBFVk1FeGVjdXRlQ29tbWFuZENvbmZpZzxVc2VySW5wdXQsIENvbnRyYWN0SW5wdXQ+ID0ge1xuICBjb250cmFjdElkOiBDT05UUkFDVF9MSVNULkNIQUlOTElOS19PRVZfREFQUF9DT05UUk9MLFxuICBhY3Rpb246ICd0cmFuc2Zlcl9nb3Zlcm5hbmNlJyxcbiAgaW50ZXJuYWxGdW5jdGlvbjogJ3RyYW5zZmVyR292ZXJuYW5jZScsXG4gIGNhdGVnb3J5OiBDQVRFR09SSUVTLkRBUFBfQ09OVFJPTCxcbiAgdXg6IHtcbiAgICBkZXNjcmlwdGlvbjogJ1RyYW5zZmVyIGdvdmVybmFuY2Ugb2YgY29udHJhY3RzJyxcbiAgICBleGFtcGxlczogW1xuICAgICAgYHlhcm4gZ2F1bnRsZXQgJHtDQVRFR09SSUVTLkRBUFBfQ09OVFJPTH06dHJhbnNmZXIgLS1vd25lcj08VE9fQUREUkVTUz4gPENPTlRSQUNUIEFERFJFU1NFUz4gLS1uZXR3b3JrPTxORVRXT1JLPmAsXG4gICAgICBgeWFybiBnYXVudGxldCAke0NBVEVHT1JJRVMuREFQUF9DT05UUk9MfTp0cmFuc2ZlciAtLXRvPTB4Li4uIDB4Li4uYCxcbiAgICBdLFxuICB9LFxuICBtYWtlVXNlcklucHV0OiBtYWtlVXNlcklucHV0LFxuICBtYWtlQ29udHJhY3RJbnB1dDogYXN5bmMgKGlucHV0OiBVc2VySW5wdXQpOiBQcm9taXNlPENvbnRyYWN0SW5wdXQ+ID0+IFtpbnB1dC50b10sXG4gIGxvYWRDb250cmFjdDogQ2hhaW5saW5rT2V2REFwcENvbnRyb2xDb250cmFjdExvYWRlcixcbiAgaG9va3M6IHsgYmVmb3JlRXhlY3V0ZSB9LFxuICB2YWxpZGF0aW9uczogW10sXG59XG5cbmV4cG9ydCBkZWZhdWx0IG1ha2VFVk1FeGVjdXRlQ29tbWFuZChjb21tYW5kQ29uZmlnKVxuIl19
@@ -0,0 +1,9 @@
1
+ export declare const executeCommands: (((deps: import("@chainlink/evm-gauntlet").Dependencies<import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").BasicEnv>) => import("@chainlink/evm-gauntlet").CommandCtor<import("@chainlink/evm-gauntlet/dist/core/commands/base/types").ExecuteCommandInstance<import("./dapp-control/acceptGovernance").UserInput, [], import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").ExecutionContext<import("ethers").AbstractSigner<import("ethers").Provider>, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse>>>) | ((deps: import("@chainlink/evm-gauntlet").Dependencies<import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").BasicEnv>) => import("@chainlink/evm-gauntlet").CommandCtor<import("@chainlink/evm-gauntlet/dist/core/commands/base/types").ExecuteCommandInstance<{
2
+ to: string;
3
+ }, [to: string], import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").ExecutionContext<import("ethers").AbstractSigner<import("ethers").Provider>, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse>>>) | ((deps: import("@chainlink/evm-gauntlet").Dependencies<import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").BasicEnv>) => import("@chainlink/evm-gauntlet").CommandCtor<import("@chainlink/evm-gauntlet/dist/core/commands/base/types").ExecuteCommandInstance<{
4
+ atlas: string;
5
+ oevShareFastlane: bigint;
6
+ oevAllocationDestinationFastlane: string;
7
+ oevAllocationDestinationProtocol: string;
8
+ }, [atlas: string, oevShareFastlane: bigint, oevAllocationDestinationFastlane: string, oevAllocationDestinationProtocol: string], import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse, import("ethers").AbstractSigner<import("ethers").Provider>, import("@chainlink/evm-gauntlet").ExecutionContext<import("ethers").AbstractSigner<import("ethers").Provider>, import("ethers").Provider, import("ethers").ContractFactory<any[], import("ethers").BaseContract>, import("ethers").TransactionRequest, import("ethers").TransactionResponse>>>))[];
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe;;;;;;;8oBAAiC,CAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeCommands = void 0;
4
+ const dapp_control_1 = require("./dapp-control");
5
+ exports.executeCommands = [...dapp_control_1.executeCommands];
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTZFO0FBRWhFLFFBQUEsZUFBZSxHQUFHLENBQUMsR0FBRyw4QkFBeUIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhlY3V0ZUNvbW1hbmRzIGFzIGdvdmVybmFuY2VFeGVjdXRlQ29tbWFuZHMgfSBmcm9tICcuL2RhcHAtY29udHJvbCdcblxuZXhwb3J0IGNvbnN0IGV4ZWN1dGVDb21tYW5kcyA9IFsuLi5nb3Zlcm5hbmNlRXhlY3V0ZUNvbW1hbmRzXVxuIl19
@@ -0,0 +1,3 @@
1
+ import { executeCommands } from './commands';
2
+ export { executeCommands };
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EAAE,eAAe,EAAE,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeCommands = void 0;
4
+ const commands_1 = require("./commands");
5
+ Object.defineProperty(exports, "executeCommands", { enumerable: true, get: function () { return commands_1.executeCommands; } });
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQTRDO0FBRW5DLGdHQUZBLDBCQUFlLE9BRUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjdXRlQ29tbWFuZHMgfSBmcm9tICcuL2NvbW1hbmRzJ1xuXG5leHBvcnQgeyBleGVjdXRlQ29tbWFuZHMgfVxuIl19
@@ -0,0 +1,4 @@
1
+ export declare const CATEGORIES: {
2
+ DAPP_CONTROL: string;
3
+ };
4
+ //# sourceMappingURL=categories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/lib/categories.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;CAEtB,CAAA"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CATEGORIES = void 0;
4
+ exports.CATEGORIES = {
5
+ DAPP_CONTROL: 'dapp_control',
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY2F0ZWdvcmllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLFVBQVUsR0FBRztJQUN4QixZQUFZLEVBQUUsY0FBYztDQUM3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IENBVEVHT1JJRVMgPSB7XG4gIERBUFBfQ09OVFJPTDogJ2RhcHBfY29udHJvbCcsXG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ export declare enum CONTRACT_LIST {
2
+ CHAINLINK_OEV_DAPP_CONTROL = "ChainlinkOevDAppControl"
3
+ }
4
+ export declare enum EVM_NETWORKS {
5
+ EVM = "evm",
6
+ ZKSYNC = "zksync"
7
+ }
8
+ export declare const ChainlinkOevDAppControlContractLoader: () => import("ethers").ContractFactory<any[], import("ethers").BaseContract>;
9
+ export declare const artifactPath: (network: EVM_NETWORKS, contractName: CONTRACT_LIST, build?: boolean) => string;
10
+ export declare function obtainContractVersion(contractName: CONTRACT_LIST): {
11
+ contractVersion: string;
12
+ solcVersion: string;
13
+ };
14
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/lib/contracts.ts"],"names":[],"mappings":"AAEA,oBAAY,aAAa;IACvB,0BAA0B,4BAA4B;CACvD;AAED,oBAAY,YAAY;IACtB,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AAKD,eAAO,MAAM,qCAAqC,8EACsC,CAAA;AAExF,eAAO,MAAM,YAAY,YAAa,YAAY,gBAAgB,aAAa,4BACS,CAAA;AAExF,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,aAAa,GAAG;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CASnH"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.obtainContractVersion = exports.artifactPath = exports.ChainlinkOevDAppControlContractLoader = exports.EVM_NETWORKS = exports.CONTRACT_LIST = void 0;
4
+ const evm_gauntlet_1 = require("@chainlink/evm-gauntlet");
5
+ var CONTRACT_LIST;
6
+ (function (CONTRACT_LIST) {
7
+ CONTRACT_LIST["CHAINLINK_OEV_DAPP_CONTROL"] = "ChainlinkOevDAppControl";
8
+ })(CONTRACT_LIST = exports.CONTRACT_LIST || (exports.CONTRACT_LIST = {}));
9
+ var EVM_NETWORKS;
10
+ (function (EVM_NETWORKS) {
11
+ EVM_NETWORKS["EVM"] = "evm";
12
+ EVM_NETWORKS["ZKSYNC"] = "zksync";
13
+ })(EVM_NETWORKS = exports.EVM_NETWORKS || (exports.EVM_NETWORKS = {}));
14
+ const contractPath = (network, contractName) => `${__dirname}/../../artifacts/${network}/${contractName}.json`;
15
+ const ChainlinkOevDAppControlContractLoader = () => (0, evm_gauntlet_1.loadContract)(contractPath(EVM_NETWORKS.EVM, CONTRACT_LIST.CHAINLINK_OEV_DAPP_CONTROL));
16
+ exports.ChainlinkOevDAppControlContractLoader = ChainlinkOevDAppControlContractLoader;
17
+ const artifactPath = (network, contractName, build = false) => `${__dirname}/../../artifacts/${network}/${contractName}${build ? '.build' : ''}.json`;
18
+ exports.artifactPath = artifactPath;
19
+ function obtainContractVersion(contractName) {
20
+ let abi = (0, evm_gauntlet_1.loadABI)((0, exports.artifactPath)(EVM_NETWORKS.EVM, contractName));
21
+ if (!abi?.gauntletMetadata?.contractVersion) {
22
+ throw new Error('obtainContractVersion: contractVersion is missing in gauntletMetadata object of ABI');
23
+ }
24
+ if (!abi?.gauntletMetadata?.solcVersion) {
25
+ throw new Error('obtainContractVersion: solcVersion is missing in gauntletMetadata object of ABI');
26
+ }
27
+ return { contractVersion: abi.gauntletMetadata.contractVersion, solcVersion: abi.gauntletMetadata.solcVersion };
28
+ }
29
+ exports.obtainContractVersion = obtainContractVersion;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9jb250cmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQStEO0FBRS9ELElBQVksYUFFWDtBQUZELFdBQVksYUFBYTtJQUN2Qix1RUFBc0QsQ0FBQTtBQUN4RCxDQUFDLEVBRlcsYUFBYSxHQUFiLHFCQUFhLEtBQWIscUJBQWEsUUFFeEI7QUFFRCxJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsMkJBQVcsQ0FBQTtJQUNYLGlDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFIVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQUd2QjtBQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBcUIsRUFBRSxZQUEyQixFQUFFLEVBQUUsQ0FDMUUsR0FBRyxTQUFTLG9CQUFvQixPQUFPLElBQUksWUFBWSxPQUFPLENBQUE7QUFFekQsTUFBTSxxQ0FBcUMsR0FBRyxHQUFHLEVBQUUsQ0FDeEQsSUFBQSwyQkFBWSxFQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUE7QUFEM0UsUUFBQSxxQ0FBcUMseUNBQ3NDO0FBRWpGLE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBcUIsRUFBRSxZQUEyQixFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUNoRyxHQUFHLFNBQVMsb0JBQW9CLE9BQU8sSUFBSSxZQUFZLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFBO0FBRDNFLFFBQUEsWUFBWSxnQkFDK0Q7QUFFeEYsU0FBZ0IscUJBQXFCLENBQUMsWUFBMkI7SUFDL0QsSUFBSSxHQUFHLEdBQUcsSUFBQSxzQkFBTyxFQUFDLElBQUEsb0JBQVksRUFBQyxZQUFZLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUE7SUFDL0QsSUFBSSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUU7UUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxxRkFBcUYsQ0FBQyxDQUFBO0tBQ3ZHO0lBQ0QsSUFBSSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUU7UUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpRkFBaUYsQ0FBQyxDQUFBO0tBQ25HO0lBQ0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUE7QUFDakgsQ0FBQztBQVRELHNEQVNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbG9hZEFCSSwgbG9hZENvbnRyYWN0IH0gZnJvbSAnQGNoYWlubGluay9ldm0tZ2F1bnRsZXQnXG5cbmV4cG9ydCBlbnVtIENPTlRSQUNUX0xJU1Qge1xuICBDSEFJTkxJTktfT0VWX0RBUFBfQ09OVFJPTCA9ICdDaGFpbmxpbmtPZXZEQXBwQ29udHJvbCcsXG59XG5cbmV4cG9ydCBlbnVtIEVWTV9ORVRXT1JLUyB7XG4gIEVWTSA9ICdldm0nLFxuICBaS1NZTkMgPSAnemtzeW5jJyxcbn1cblxuY29uc3QgY29udHJhY3RQYXRoID0gKG5ldHdvcms6IEVWTV9ORVRXT1JLUywgY29udHJhY3ROYW1lOiBDT05UUkFDVF9MSVNUKSA9PlxuICBgJHtfX2Rpcm5hbWV9Ly4uLy4uL2FydGlmYWN0cy8ke25ldHdvcmt9LyR7Y29udHJhY3ROYW1lfS5qc29uYFxuXG5leHBvcnQgY29uc3QgQ2hhaW5saW5rT2V2REFwcENvbnRyb2xDb250cmFjdExvYWRlciA9ICgpID0+XG4gIGxvYWRDb250cmFjdChjb250cmFjdFBhdGgoRVZNX05FVFdPUktTLkVWTSwgQ09OVFJBQ1RfTElTVC5DSEFJTkxJTktfT0VWX0RBUFBfQ09OVFJPTCkpXG5cbmV4cG9ydCBjb25zdCBhcnRpZmFjdFBhdGggPSAobmV0d29yazogRVZNX05FVFdPUktTLCBjb250cmFjdE5hbWU6IENPTlRSQUNUX0xJU1QsIGJ1aWxkID0gZmFsc2UpID0+XG4gIGAke19fZGlybmFtZX0vLi4vLi4vYXJ0aWZhY3RzLyR7bmV0d29ya30vJHtjb250cmFjdE5hbWV9JHtidWlsZCA/ICcuYnVpbGQnIDogJyd9Lmpzb25gXG5cbmV4cG9ydCBmdW5jdGlvbiBvYnRhaW5Db250cmFjdFZlcnNpb24oY29udHJhY3ROYW1lOiBDT05UUkFDVF9MSVNUKTogeyBjb250cmFjdFZlcnNpb246IHN0cmluZzsgc29sY1ZlcnNpb246IHN0cmluZyB9IHtcbiAgbGV0IGFiaSA9IGxvYWRBQkkoYXJ0aWZhY3RQYXRoKEVWTV9ORVRXT1JLUy5FVk0sIGNvbnRyYWN0TmFtZSkpXG4gIGlmICghYWJpPy5nYXVudGxldE1ldGFkYXRhPy5jb250cmFjdFZlcnNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ29idGFpbkNvbnRyYWN0VmVyc2lvbjogY29udHJhY3RWZXJzaW9uIGlzIG1pc3NpbmcgaW4gZ2F1bnRsZXRNZXRhZGF0YSBvYmplY3Qgb2YgQUJJJylcbiAgfVxuICBpZiAoIWFiaT8uZ2F1bnRsZXRNZXRhZGF0YT8uc29sY1ZlcnNpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ29idGFpbkNvbnRyYWN0VmVyc2lvbjogc29sY1ZlcnNpb24gaXMgbWlzc2luZyBpbiBnYXVudGxldE1ldGFkYXRhIG9iamVjdCBvZiBBQkknKVxuICB9XG4gIHJldHVybiB7IGNvbnRyYWN0VmVyc2lvbjogYWJpLmdhdW50bGV0TWV0YWRhdGEuY29udHJhY3RWZXJzaW9uLCBzb2xjVmVyc2lvbjogYWJpLmdhdW50bGV0TWV0YWRhdGEuc29sY1ZlcnNpb24gfVxufVxuIl19
package/package.json CHANGED
@@ -1,9 +1,33 @@
1
1
  {
2
- "name": "@chainlink/evm-gauntlet-svr",
3
- "version": "0.0.0",
4
- "main": "",
5
- "author": "",
6
- "license": "ISC",
7
- "repository": "git://github.com/smartcontractkit/gauntlet-evm.git",
8
- "description": ""
9
- }
2
+ "name": "@chainlink/evm-gauntlet-svr",
3
+ "version": "1.2.0",
4
+ "description": "EVM Gauntlet SVR",
5
+ "keywords": [
6
+ "typescript",
7
+ "cli"
8
+ ],
9
+ "main": "./dist/index.js",
10
+ "types": "dist/index.d.ts",
11
+ "files": [
12
+ "artifacts/**/*",
13
+ "dist/**/*",
14
+ "!dist/**/*.test.js"
15
+ ],
16
+ "scripts": {
17
+ "gauntlet": "ts-node ./src/index.ts",
18
+ "lint": "tsc",
19
+ "test": "SKIP_PROMPTS=true jest --runInBand",
20
+ "test:coverage": "yarn test --collectCoverage",
21
+ "test:ci": "yarn test --ci",
22
+ "lint:format": "yarn prettier --check ./src",
23
+ "format": "yarn prettier --write ./src",
24
+ "clean": "rm -rf ./dist/ ./bin/",
25
+ "build": "yarn clean && tsc -b",
26
+ "bundle": "yarn build && pkg ."
27
+ },
28
+ "dependencies": {
29
+ "@chainlink/evm-gauntlet": "*",
30
+ "@chainlink/gauntlet-core": "0.8.0",
31
+ "ethers": "^6.11.1"
32
+ }
33
+ }