diff --git a/package.json b/package.json index 0877e6a..2c50710 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "copy-contracts-types": "cp ./src/contracts/types/*.ts ./dist/contracts/types", "format": "prettier --write '*/**/*.{js,json,md,ts}'", "format:check": "prettier --check '*/**/*.{js,json,md,ts}'", - "generate-contracts-typings": "npx typechain --target=ethers-v5 --out-dir src/contracts/types ./src/**/abis/*.json && yarn format", + "generate-contracts-typings": "npx typechain --target=ethers-v6 --out-dir src/contracts/types ./src/**/abis/*.json && yarn format", "lint": "eslint --cache .", "prepare": "yarn build && yarn format && yarn lint", "test": "ts-node ./src/index.test.ts" @@ -25,7 +25,7 @@ "devDependencies": { "@changesets/cli": "^2.26.2", "@tsconfig/recommended": "^1.0.2", - "@typechain/ethers-v5": "^11.1.1", + "@typechain/ethers-v6": "0.5.1", "@types/node": "^20.4.8", "@typescript-eslint/eslint-plugin": "^6.2.1", "@typescript-eslint/parser": "^6.2.1", @@ -41,9 +41,10 @@ "typescript": "^5.1.6" }, "dependencies": { + "@nomicfoundation/hardhat-network-helpers": "^1.0.10", "axios": "^1.4.0", "buffer": "^6.0.3", - "ethers": "^5.5.2", + "ethers": "6.12.0", "siwe": "^1.1.6" } } diff --git a/src/contracts/types/Automate.ts b/src/contracts/types/Automate.ts index 40d160b..1e70bfc 100644 --- a/src/contracts/types/Automate.ts +++ b/src/contracts/types/Automate.ts @@ -3,55 +3,36 @@ /* eslint-disable */ import type { BaseContract, - BigNumber, BigNumberish, BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, } from "ethers"; -import type { FunctionFragment, Result } from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; import type { - TypedEventFilter, - TypedEvent, + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, TypedListener, - OnEvent, + TypedContractMethod, } from "./common"; export declare namespace LibDataTypes { export type ModuleDataStruct = { modules: BigNumberish[]; args: BytesLike[] }; - export type ModuleDataStructOutput = [number[], string[]] & { - modules: number[]; + export type ModuleDataStructOutput = [modules: bigint[], args: string[]] & { + modules: bigint[]; args: string[]; }; } -export interface AutomateInterface extends utils.Interface { - functions: { - "cancelTask(bytes32)": FunctionFragment; - "createTask(address,bytes,(uint8[],bytes[]),address)": FunctionFragment; - "exec(address,address,bytes,(uint8[],bytes[]),uint256,address,bool,bool)": FunctionFragment; - "execAddresses(bytes32)": FunctionFragment; - "fee()": FunctionFragment; - "feeToken()": FunctionFragment; - "gelato()": FunctionFragment; - "getFeeDetails()": FunctionFragment; - "getTaskIdsByUser(address)": FunctionFragment; - "setModule(uint8[],address[])": FunctionFragment; - "taskCreator(bytes32)": FunctionFragment; - "taskModuleAddresses(uint8)": FunctionFragment; - "taskTreasury()": FunctionFragment; - "timedTask(bytes32)": FunctionFragment; - "version()": FunctionFragment; - }; - +export interface AutomateInterface extends Interface { getFunction( - nameOrSignatureOrTopic: + nameOrSignature: | "cancelTask" | "createTask" | "exec" @@ -75,17 +56,22 @@ export interface AutomateInterface extends utils.Interface { ): string; encodeFunctionData( functionFragment: "createTask", - values: [string, BytesLike, LibDataTypes.ModuleDataStruct, string], + values: [ + AddressLike, + BytesLike, + LibDataTypes.ModuleDataStruct, + AddressLike, + ], ): string; encodeFunctionData( functionFragment: "exec", values: [ - string, - string, + AddressLike, + AddressLike, BytesLike, LibDataTypes.ModuleDataStruct, BigNumberish, - string, + AddressLike, boolean, boolean, ], @@ -103,11 +89,11 @@ export interface AutomateInterface extends utils.Interface { ): string; encodeFunctionData( functionFragment: "getTaskIdsByUser", - values: [string], + values: [AddressLike], ): string; encodeFunctionData( functionFragment: "setModule", - values: [BigNumberish[], string[]], + values: [BigNumberish[], AddressLike[]], ): string; encodeFunctionData( functionFragment: "taskCreator", @@ -160,365 +146,198 @@ export interface AutomateInterface extends utils.Interface { ): Result; decodeFunctionResult(functionFragment: "timedTask", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; - - events: {}; } export interface Automate extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; + connect(runner?: ContractRunner | null): Automate; + waitForDeployment(): Promise; interface: AutomateInterface; - queryFilter( - event: TypedEventFilter, + queryFilter( + event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined, - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter, - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter, - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - cancelTask( - _taskId: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; - - createTask( - _execAddress: string, + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener, + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener, + ): Promise; + + once( + event: TCEvent, + listener: TypedListener, + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener, + ): Promise; + + listeners( + event: TCEvent, + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent, + ): Promise; + + cancelTask: TypedContractMethod<[_taskId: BytesLike], [void], "nonpayable">; + + createTask: TypedContractMethod< + [ + _execAddress: AddressLike, _execDataOrSelector: BytesLike, _moduleData: LibDataTypes.ModuleDataStruct, - _feeToken: string, - overrides?: Overrides & { from?: string }, - ): Promise; + _feeToken: AddressLike, + ], + [string], + "nonpayable" + >; - exec( - _taskCreator: string, - _execAddress: string, + exec: TypedContractMethod< + [ + _taskCreator: AddressLike, + _execAddress: AddressLike, _execData: BytesLike, _moduleData: LibDataTypes.ModuleDataStruct, _txFee: BigNumberish, - _feeToken: string, + _feeToken: AddressLike, _useTaskTreasuryFunds: boolean, _revertOnFailure: boolean, - overrides?: Overrides & { from?: string }, - ): Promise; - - execAddresses( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise<[string]>; - - fee(overrides?: CallOverrides): Promise<[BigNumber]>; - - feeToken(overrides?: CallOverrides): Promise<[string]>; - - gelato(overrides?: CallOverrides): Promise<[string]>; - - getFeeDetails(overrides?: CallOverrides): Promise<[BigNumber, string]>; - - getTaskIdsByUser( - _taskCreator: string, - overrides?: CallOverrides, - ): Promise<[string[]]>; - - setModule( - _modules: BigNumberish[], - _moduleAddresses: string[], - overrides?: Overrides & { from?: string }, - ): Promise; - - taskCreator(arg0: BytesLike, overrides?: CallOverrides): Promise<[string]>; - - taskModuleAddresses( - arg0: BigNumberish, - overrides?: CallOverrides, - ): Promise<[string]>; - - taskTreasury(overrides?: CallOverrides): Promise<[string]>; - - timedTask( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise< - [BigNumber, BigNumber] & { nextExec: BigNumber; interval: BigNumber } - >; - - version(overrides?: CallOverrides): Promise<[string]>; - }; - - cancelTask( - _taskId: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; - - createTask( - _execAddress: string, - _execDataOrSelector: BytesLike, - _moduleData: LibDataTypes.ModuleDataStruct, - _feeToken: string, - overrides?: Overrides & { from?: string }, - ): Promise; - - exec( - _taskCreator: string, - _execAddress: string, - _execData: BytesLike, - _moduleData: LibDataTypes.ModuleDataStruct, - _txFee: BigNumberish, - _feeToken: string, - _useTaskTreasuryFunds: boolean, - _revertOnFailure: boolean, - overrides?: Overrides & { from?: string }, - ): Promise; + ], + [void], + "nonpayable" + >; - execAddresses(arg0: BytesLike, overrides?: CallOverrides): Promise; + execAddresses: TypedContractMethod<[arg0: BytesLike], [string], "view">; - fee(overrides?: CallOverrides): Promise; + fee: TypedContractMethod<[], [bigint], "view">; - feeToken(overrides?: CallOverrides): Promise; + feeToken: TypedContractMethod<[], [string], "view">; - gelato(overrides?: CallOverrides): Promise; + gelato: TypedContractMethod<[], [string], "view">; - getFeeDetails(overrides?: CallOverrides): Promise<[BigNumber, string]>; + getFeeDetails: TypedContractMethod<[], [[bigint, string]], "view">; - getTaskIdsByUser( - _taskCreator: string, - overrides?: CallOverrides, - ): Promise; + getTaskIdsByUser: TypedContractMethod< + [_taskCreator: AddressLike], + [string[]], + "view" + >; - setModule( - _modules: BigNumberish[], - _moduleAddresses: string[], - overrides?: Overrides & { from?: string }, - ): Promise; + setModule: TypedContractMethod< + [_modules: BigNumberish[], _moduleAddresses: AddressLike[]], + [void], + "nonpayable" + >; - taskCreator(arg0: BytesLike, overrides?: CallOverrides): Promise; + taskCreator: TypedContractMethod<[arg0: BytesLike], [string], "view">; - taskModuleAddresses( - arg0: BigNumberish, - overrides?: CallOverrides, - ): Promise; + taskModuleAddresses: TypedContractMethod< + [arg0: BigNumberish], + [string], + "view" + >; - taskTreasury(overrides?: CallOverrides): Promise; + taskTreasury: TypedContractMethod<[], [string], "view">; - timedTask( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise< - [BigNumber, BigNumber] & { nextExec: BigNumber; interval: BigNumber } + timedTask: TypedContractMethod< + [arg0: BytesLike], + [[bigint, bigint] & { nextExec: bigint; interval: bigint }], + "view" >; - version(overrides?: CallOverrides): Promise; + version: TypedContractMethod<[], [string], "view">; - callStatic: { - cancelTask(_taskId: BytesLike, overrides?: CallOverrides): Promise; + getFunction( + key: string | FunctionFragment, + ): T; - createTask( - _execAddress: string, + getFunction( + nameOrSignature: "cancelTask", + ): TypedContractMethod<[_taskId: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "createTask", + ): TypedContractMethod< + [ + _execAddress: AddressLike, _execDataOrSelector: BytesLike, _moduleData: LibDataTypes.ModuleDataStruct, - _feeToken: string, - overrides?: CallOverrides, - ): Promise; - - exec( - _taskCreator: string, - _execAddress: string, + _feeToken: AddressLike, + ], + [string], + "nonpayable" + >; + getFunction( + nameOrSignature: "exec", + ): TypedContractMethod< + [ + _taskCreator: AddressLike, + _execAddress: AddressLike, _execData: BytesLike, _moduleData: LibDataTypes.ModuleDataStruct, _txFee: BigNumberish, - _feeToken: string, + _feeToken: AddressLike, _useTaskTreasuryFunds: boolean, _revertOnFailure: boolean, - overrides?: CallOverrides, - ): Promise; - - execAddresses(arg0: BytesLike, overrides?: CallOverrides): Promise; - - fee(overrides?: CallOverrides): Promise; - - feeToken(overrides?: CallOverrides): Promise; - - gelato(overrides?: CallOverrides): Promise; - - getFeeDetails(overrides?: CallOverrides): Promise<[BigNumber, string]>; - - getTaskIdsByUser( - _taskCreator: string, - overrides?: CallOverrides, - ): Promise; - - setModule( - _modules: BigNumberish[], - _moduleAddresses: string[], - overrides?: CallOverrides, - ): Promise; - - taskCreator(arg0: BytesLike, overrides?: CallOverrides): Promise; - - taskModuleAddresses( - arg0: BigNumberish, - overrides?: CallOverrides, - ): Promise; - - taskTreasury(overrides?: CallOverrides): Promise; - - timedTask( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise< - [BigNumber, BigNumber] & { nextExec: BigNumber; interval: BigNumber } - >; - - version(overrides?: CallOverrides): Promise; - }; + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "execAddresses", + ): TypedContractMethod<[arg0: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "fee", + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeToken", + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "gelato", + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "getFeeDetails", + ): TypedContractMethod<[], [[bigint, string]], "view">; + getFunction( + nameOrSignature: "getTaskIdsByUser", + ): TypedContractMethod<[_taskCreator: AddressLike], [string[]], "view">; + getFunction( + nameOrSignature: "setModule", + ): TypedContractMethod< + [_modules: BigNumberish[], _moduleAddresses: AddressLike[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "taskCreator", + ): TypedContractMethod<[arg0: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "taskModuleAddresses", + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "taskTreasury", + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "timedTask", + ): TypedContractMethod< + [arg0: BytesLike], + [[bigint, bigint] & { nextExec: bigint; interval: bigint }], + "view" + >; + getFunction( + nameOrSignature: "version", + ): TypedContractMethod<[], [string], "view">; filters: {}; - - estimateGas: { - cancelTask( - _taskId: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; - - createTask( - _execAddress: string, - _execDataOrSelector: BytesLike, - _moduleData: LibDataTypes.ModuleDataStruct, - _feeToken: string, - overrides?: Overrides & { from?: string }, - ): Promise; - - exec( - _taskCreator: string, - _execAddress: string, - _execData: BytesLike, - _moduleData: LibDataTypes.ModuleDataStruct, - _txFee: BigNumberish, - _feeToken: string, - _useTaskTreasuryFunds: boolean, - _revertOnFailure: boolean, - overrides?: Overrides & { from?: string }, - ): Promise; - - execAddresses( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise; - - fee(overrides?: CallOverrides): Promise; - - feeToken(overrides?: CallOverrides): Promise; - - gelato(overrides?: CallOverrides): Promise; - - getFeeDetails(overrides?: CallOverrides): Promise; - - getTaskIdsByUser( - _taskCreator: string, - overrides?: CallOverrides, - ): Promise; - - setModule( - _modules: BigNumberish[], - _moduleAddresses: string[], - overrides?: Overrides & { from?: string }, - ): Promise; - - taskCreator(arg0: BytesLike, overrides?: CallOverrides): Promise; - - taskModuleAddresses( - arg0: BigNumberish, - overrides?: CallOverrides, - ): Promise; - - taskTreasury(overrides?: CallOverrides): Promise; - - timedTask(arg0: BytesLike, overrides?: CallOverrides): Promise; - - version(overrides?: CallOverrides): Promise; - }; - - populateTransaction: { - cancelTask( - _taskId: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; - - createTask( - _execAddress: string, - _execDataOrSelector: BytesLike, - _moduleData: LibDataTypes.ModuleDataStruct, - _feeToken: string, - overrides?: Overrides & { from?: string }, - ): Promise; - - exec( - _taskCreator: string, - _execAddress: string, - _execData: BytesLike, - _moduleData: LibDataTypes.ModuleDataStruct, - _txFee: BigNumberish, - _feeToken: string, - _useTaskTreasuryFunds: boolean, - _revertOnFailure: boolean, - overrides?: Overrides & { from?: string }, - ): Promise; - - execAddresses( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise; - - fee(overrides?: CallOverrides): Promise; - - feeToken(overrides?: CallOverrides): Promise; - - gelato(overrides?: CallOverrides): Promise; - - getFeeDetails(overrides?: CallOverrides): Promise; - - getTaskIdsByUser( - _taskCreator: string, - overrides?: CallOverrides, - ): Promise; - - setModule( - _modules: BigNumberish[], - _moduleAddresses: string[], - overrides?: Overrides & { from?: string }, - ): Promise; - - taskCreator( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise; - - taskModuleAddresses( - arg0: BigNumberish, - overrides?: CallOverrides, - ): Promise; - - taskTreasury(overrides?: CallOverrides): Promise; - - timedTask( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise; - - version(overrides?: CallOverrides): Promise; - }; } diff --git a/src/contracts/types/AutomateProxy.ts b/src/contracts/types/AutomateProxy.ts index 59249cf..336df8a 100644 --- a/src/contracts/types/AutomateProxy.ts +++ b/src/contracts/types/AutomateProxy.ts @@ -3,40 +3,29 @@ /* eslint-disable */ import type { BaseContract, - BigNumber, BigNumberish, BytesLike, - CallOverrides, - ContractTransaction, - PayableOverrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { FunctionFragment, Result, + Interface, EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; import type { - TypedEventFilter, - TypedEvent, + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, TypedListener, - OnEvent, + TypedContractMethod, } from "./common"; -export interface AutomateProxyInterface extends utils.Interface { - functions: { - "batchExecuteCall(address[],bytes[],uint256[])": FunctionFragment; - "executeCall(address,bytes,uint256)": FunctionFragment; - "ops()": FunctionFragment; - "owner()": FunctionFragment; - "version()": FunctionFragment; - }; - +export interface AutomateProxyInterface extends Interface { getFunction( - nameOrSignatureOrTopic: + nameOrSignature: | "batchExecuteCall" | "executeCall" | "ops" @@ -44,13 +33,15 @@ export interface AutomateProxyInterface extends utils.Interface { | "version", ): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "ExecuteCall"): EventFragment; + encodeFunctionData( functionFragment: "batchExecuteCall", - values: [string[], BytesLike[], BigNumberish[]], + values: [AddressLike[], BytesLike[], BigNumberish[]], ): string; encodeFunctionData( functionFragment: "executeCall", - values: [string, BytesLike, BigNumberish], + values: [AddressLike, BytesLike, BigNumberish], ): string; encodeFunctionData(functionFragment: "ops", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; @@ -67,173 +58,140 @@ export interface AutomateProxyInterface extends utils.Interface { decodeFunctionResult(functionFragment: "ops", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; - - events: { - "ExecuteCall(address,bytes,uint256,bytes)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "ExecuteCall"): EventFragment; } -export interface ExecuteCallEventObject { - target: string; - data: string; - value: BigNumber; - returnData: string; +export namespace ExecuteCallEvent { + export type InputTuple = [ + target: AddressLike, + data: BytesLike, + value: BigNumberish, + returnData: BytesLike, + ]; + export type OutputTuple = [ + target: string, + data: string, + value: bigint, + returnData: string, + ]; + export interface OutputObject { + target: string; + data: string; + value: bigint; + returnData: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; } -export type ExecuteCallEvent = TypedEvent< - [string, string, BigNumber, string], - ExecuteCallEventObject ->; - -export type ExecuteCallEventFilter = TypedEventFilter; export interface AutomateProxy extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; + connect(runner?: ContractRunner | null): AutomateProxy; + waitForDeployment(): Promise; interface: AutomateProxyInterface; - queryFilter( - event: TypedEventFilter, + queryFilter( + event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined, - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter, - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter, - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - batchExecuteCall( - _targets: string[], - _datas: BytesLike[], - _values: BigNumberish[], - overrides?: PayableOverrides & { from?: string }, - ): Promise; - - executeCall( - _target: string, - _data: BytesLike, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string }, - ): Promise; - - ops(overrides?: CallOverrides): Promise<[string]>; - - owner(overrides?: CallOverrides): Promise<[string]>; - - version(overrides?: CallOverrides): Promise<[BigNumber]>; - }; - - batchExecuteCall( - _targets: string[], - _datas: BytesLike[], - _values: BigNumberish[], - overrides?: PayableOverrides & { from?: string }, - ): Promise; - - executeCall( - _target: string, - _data: BytesLike, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string }, - ): Promise; - - ops(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - version(overrides?: CallOverrides): Promise; - - callStatic: { - batchExecuteCall( - _targets: string[], - _datas: BytesLike[], - _values: BigNumberish[], - overrides?: CallOverrides, - ): Promise; - - executeCall( - _target: string, - _data: BytesLike, - _value: BigNumberish, - overrides?: CallOverrides, - ): Promise; - - ops(overrides?: CallOverrides): Promise; + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener, + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener, + ): Promise; + + once( + event: TCEvent, + listener: TypedListener, + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener, + ): Promise; + + listeners( + event: TCEvent, + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent, + ): Promise; + + batchExecuteCall: TypedContractMethod< + [_targets: AddressLike[], _datas: BytesLike[], _values: BigNumberish[]], + [void], + "payable" + >; + + executeCall: TypedContractMethod< + [_target: AddressLike, _data: BytesLike, _value: BigNumberish], + [void], + "payable" + >; + + ops: TypedContractMethod<[], [string], "view">; + + owner: TypedContractMethod<[], [string], "view">; + + version: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment, + ): T; - owner(overrides?: CallOverrides): Promise; + getFunction( + nameOrSignature: "batchExecuteCall", + ): TypedContractMethod< + [_targets: AddressLike[], _datas: BytesLike[], _values: BigNumberish[]], + [void], + "payable" + >; + getFunction( + nameOrSignature: "executeCall", + ): TypedContractMethod< + [_target: AddressLike, _data: BytesLike, _value: BigNumberish], + [void], + "payable" + >; + getFunction( + nameOrSignature: "ops", + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "owner", + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "version", + ): TypedContractMethod<[], [bigint], "view">; - version(overrides?: CallOverrides): Promise; - }; + getEvent( + key: "ExecuteCall", + ): TypedContractEvent< + ExecuteCallEvent.InputTuple, + ExecuteCallEvent.OutputTuple, + ExecuteCallEvent.OutputObject + >; filters: { - "ExecuteCall(address,bytes,uint256,bytes)"( - target?: string | null, - data?: null, - value?: null, - returnData?: null, - ): ExecuteCallEventFilter; - ExecuteCall( - target?: string | null, - data?: null, - value?: null, - returnData?: null, - ): ExecuteCallEventFilter; - }; - - estimateGas: { - batchExecuteCall( - _targets: string[], - _datas: BytesLike[], - _values: BigNumberish[], - overrides?: PayableOverrides & { from?: string }, - ): Promise; - - executeCall( - _target: string, - _data: BytesLike, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string }, - ): Promise; - - ops(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - version(overrides?: CallOverrides): Promise; - }; - - populateTransaction: { - batchExecuteCall( - _targets: string[], - _datas: BytesLike[], - _values: BigNumberish[], - overrides?: PayableOverrides & { from?: string }, - ): Promise; - - executeCall( - _target: string, - _data: BytesLike, - _value: BigNumberish, - overrides?: PayableOverrides & { from?: string }, - ): Promise; - - ops(overrides?: CallOverrides): Promise; - - owner(overrides?: CallOverrides): Promise; - - version(overrides?: CallOverrides): Promise; + "ExecuteCall(address,bytes,uint256,bytes)": TypedContractEvent< + ExecuteCallEvent.InputTuple, + ExecuteCallEvent.OutputTuple, + ExecuteCallEvent.OutputObject + >; + ExecuteCall: TypedContractEvent< + ExecuteCallEvent.InputTuple, + ExecuteCallEvent.OutputTuple, + ExecuteCallEvent.OutputObject + >; }; } diff --git a/src/contracts/types/AutomateProxyFactory.ts b/src/contracts/types/AutomateProxyFactory.ts index eb83055..1a67307 100644 --- a/src/contracts/types/AutomateProxyFactory.ts +++ b/src/contracts/types/AutomateProxyFactory.ts @@ -3,44 +3,28 @@ /* eslint-disable */ import type { BaseContract, - BigNumber, BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { FunctionFragment, Result, + Interface, EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; import type { - TypedEventFilter, - TypedEvent, + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, TypedListener, - OnEvent, + TypedContractMethod, } from "./common"; -export interface AutomateProxyFactoryInterface extends utils.Interface { - functions: { - "deploy()": FunctionFragment; - "deployFor(address)": FunctionFragment; - "determineProxyAddress(address)": FunctionFragment; - "getNextSeed(address)": FunctionFragment; - "getOwnerOf(address)": FunctionFragment; - "getProxyOf(address)": FunctionFragment; - "implementation()": FunctionFragment; - "isProxy(address)": FunctionFragment; - "ops()": FunctionFragment; - "version()": FunctionFragment; - }; - +export interface AutomateProxyFactoryInterface extends Interface { getFunction( - nameOrSignatureOrTopic: + nameOrSignature: | "deploy" | "deployFor" | "determineProxyAddress" @@ -53,20 +37,37 @@ export interface AutomateProxyFactoryInterface extends utils.Interface { | "version", ): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "DeployProxy"): EventFragment; + encodeFunctionData(functionFragment: "deploy", values?: undefined): string; - encodeFunctionData(functionFragment: "deployFor", values: [string]): string; + encodeFunctionData( + functionFragment: "deployFor", + values: [AddressLike], + ): string; encodeFunctionData( functionFragment: "determineProxyAddress", - values: [string], + values: [AddressLike], + ): string; + encodeFunctionData( + functionFragment: "getNextSeed", + values: [AddressLike], + ): string; + encodeFunctionData( + functionFragment: "getOwnerOf", + values: [AddressLike], + ): string; + encodeFunctionData( + functionFragment: "getProxyOf", + values: [AddressLike], ): string; - encodeFunctionData(functionFragment: "getNextSeed", values: [string]): string; - encodeFunctionData(functionFragment: "getOwnerOf", values: [string]): string; - encodeFunctionData(functionFragment: "getProxyOf", values: [string]): string; encodeFunctionData( functionFragment: "implementation", values?: undefined, ): string; - encodeFunctionData(functionFragment: "isProxy", values: [string]): string; + encodeFunctionData( + functionFragment: "isProxy", + values: [AddressLike], + ): string; encodeFunctionData(functionFragment: "ops", values?: undefined): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; @@ -89,233 +90,160 @@ export interface AutomateProxyFactoryInterface extends utils.Interface { decodeFunctionResult(functionFragment: "isProxy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ops", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; - - events: { - "DeployProxy(address,address,bytes32,bytes32,address)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "DeployProxy"): EventFragment; } -export interface DeployProxyEventObject { - deployer: string; - owner: string; - seed: string; - salt: string; - proxy: string; +export namespace DeployProxyEvent { + export type InputTuple = [ + deployer: AddressLike, + owner: AddressLike, + seed: BytesLike, + salt: BytesLike, + proxy: AddressLike, + ]; + export type OutputTuple = [ + deployer: string, + owner: string, + seed: string, + salt: string, + proxy: string, + ]; + export interface OutputObject { + deployer: string; + owner: string; + seed: string; + salt: string; + proxy: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; } -export type DeployProxyEvent = TypedEvent< - [string, string, string, string, string], - DeployProxyEventObject ->; - -export type DeployProxyEventFilter = TypedEventFilter; export interface AutomateProxyFactory extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; + connect(runner?: ContractRunner | null): AutomateProxyFactory; + waitForDeployment(): Promise; interface: AutomateProxyFactoryInterface; - queryFilter( - event: TypedEventFilter, + queryFilter( + event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined, - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter, - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter, - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - deploy( - overrides?: Overrides & { from?: string }, - ): Promise; - - deployFor( - owner: string, - overrides?: Overrides & { from?: string }, - ): Promise; - - determineProxyAddress( - _account: string, - overrides?: CallOverrides, - ): Promise<[string]>; - - getNextSeed(_account: string, overrides?: CallOverrides): Promise<[string]>; - - getOwnerOf(_proxy: string, overrides?: CallOverrides): Promise<[string]>; - - getProxyOf( - _account: string, - overrides?: CallOverrides, - ): Promise<[string, boolean]>; - - implementation(overrides?: CallOverrides): Promise<[string]>; - - isProxy(proxy: string, overrides?: CallOverrides): Promise<[boolean]>; - - ops(overrides?: CallOverrides): Promise<[string]>; - - version(overrides?: CallOverrides): Promise<[BigNumber]>; - }; - - deploy( - overrides?: Overrides & { from?: string }, - ): Promise; - - deployFor( - owner: string, - overrides?: Overrides & { from?: string }, - ): Promise; - - determineProxyAddress( - _account: string, - overrides?: CallOverrides, - ): Promise; - - getNextSeed(_account: string, overrides?: CallOverrides): Promise; + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>>; - getOwnerOf(_proxy: string, overrides?: CallOverrides): Promise; + on( + event: TCEvent, + listener: TypedListener, + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener, + ): Promise; - getProxyOf( - _account: string, - overrides?: CallOverrides, - ): Promise<[string, boolean]>; + once( + event: TCEvent, + listener: TypedListener, + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener, + ): Promise; - implementation(overrides?: CallOverrides): Promise; + listeners( + event: TCEvent, + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent, + ): Promise; - isProxy(proxy: string, overrides?: CallOverrides): Promise; + deploy: TypedContractMethod<[], [string], "nonpayable">; - ops(overrides?: CallOverrides): Promise; + deployFor: TypedContractMethod<[owner: AddressLike], [string], "nonpayable">; - version(overrides?: CallOverrides): Promise; + determineProxyAddress: TypedContractMethod< + [_account: AddressLike], + [string], + "view" + >; - callStatic: { - deploy(overrides?: CallOverrides): Promise; + getNextSeed: TypedContractMethod<[_account: AddressLike], [string], "view">; - deployFor(owner: string, overrides?: CallOverrides): Promise; + getOwnerOf: TypedContractMethod<[_proxy: AddressLike], [string], "view">; - determineProxyAddress( - _account: string, - overrides?: CallOverrides, - ): Promise; + getProxyOf: TypedContractMethod< + [_account: AddressLike], + [[string, boolean]], + "view" + >; - getNextSeed(_account: string, overrides?: CallOverrides): Promise; + implementation: TypedContractMethod<[], [string], "view">; - getOwnerOf(_proxy: string, overrides?: CallOverrides): Promise; + isProxy: TypedContractMethod<[proxy: AddressLike], [boolean], "view">; - getProxyOf( - _account: string, - overrides?: CallOverrides, - ): Promise<[string, boolean]>; + ops: TypedContractMethod<[], [string], "view">; - implementation(overrides?: CallOverrides): Promise; + version: TypedContractMethod<[], [bigint], "view">; - isProxy(proxy: string, overrides?: CallOverrides): Promise; + getFunction( + key: string | FunctionFragment, + ): T; - ops(overrides?: CallOverrides): Promise; + getFunction( + nameOrSignature: "deploy", + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "deployFor", + ): TypedContractMethod<[owner: AddressLike], [string], "nonpayable">; + getFunction( + nameOrSignature: "determineProxyAddress", + ): TypedContractMethod<[_account: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "getNextSeed", + ): TypedContractMethod<[_account: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "getOwnerOf", + ): TypedContractMethod<[_proxy: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "getProxyOf", + ): TypedContractMethod<[_account: AddressLike], [[string, boolean]], "view">; + getFunction( + nameOrSignature: "implementation", + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isProxy", + ): TypedContractMethod<[proxy: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "ops", + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "version", + ): TypedContractMethod<[], [bigint], "view">; - version(overrides?: CallOverrides): Promise; - }; + getEvent( + key: "DeployProxy", + ): TypedContractEvent< + DeployProxyEvent.InputTuple, + DeployProxyEvent.OutputTuple, + DeployProxyEvent.OutputObject + >; filters: { - "DeployProxy(address,address,bytes32,bytes32,address)"( - deployer?: string | null, - owner?: string | null, - seed?: null, - salt?: null, - proxy?: null, - ): DeployProxyEventFilter; - DeployProxy( - deployer?: string | null, - owner?: string | null, - seed?: null, - salt?: null, - proxy?: null, - ): DeployProxyEventFilter; - }; - - estimateGas: { - deploy(overrides?: Overrides & { from?: string }): Promise; - - deployFor( - owner: string, - overrides?: Overrides & { from?: string }, - ): Promise; - - determineProxyAddress( - _account: string, - overrides?: CallOverrides, - ): Promise; - - getNextSeed( - _account: string, - overrides?: CallOverrides, - ): Promise; - - getOwnerOf(_proxy: string, overrides?: CallOverrides): Promise; - - getProxyOf(_account: string, overrides?: CallOverrides): Promise; - - implementation(overrides?: CallOverrides): Promise; - - isProxy(proxy: string, overrides?: CallOverrides): Promise; - - ops(overrides?: CallOverrides): Promise; - - version(overrides?: CallOverrides): Promise; - }; - - populateTransaction: { - deploy( - overrides?: Overrides & { from?: string }, - ): Promise; - - deployFor( - owner: string, - overrides?: Overrides & { from?: string }, - ): Promise; - - determineProxyAddress( - _account: string, - overrides?: CallOverrides, - ): Promise; - - getNextSeed( - _account: string, - overrides?: CallOverrides, - ): Promise; - - getOwnerOf( - _proxy: string, - overrides?: CallOverrides, - ): Promise; - - getProxyOf( - _account: string, - overrides?: CallOverrides, - ): Promise; - - implementation(overrides?: CallOverrides): Promise; - - isProxy( - proxy: string, - overrides?: CallOverrides, - ): Promise; - - ops(overrides?: CallOverrides): Promise; - - version(overrides?: CallOverrides): Promise; + "DeployProxy(address,address,bytes32,bytes32,address)": TypedContractEvent< + DeployProxyEvent.InputTuple, + DeployProxyEvent.OutputTuple, + DeployProxyEvent.OutputObject + >; + DeployProxy: TypedContractEvent< + DeployProxyEvent.InputTuple, + DeployProxyEvent.OutputTuple, + DeployProxyEvent.OutputObject + >; }; } diff --git a/src/contracts/types/Forwarder.ts b/src/contracts/types/Forwarder.ts index 4b329e6..774892f 100644 --- a/src/contracts/types/Forwarder.ts +++ b/src/contracts/types/Forwarder.ts @@ -3,91 +3,86 @@ /* eslint-disable */ import type { BaseContract, - BigNumber, BytesLike, - CallOverrides, - PopulatedTransaction, - Signer, - utils, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, } from "ethers"; -import type { FunctionFragment, Result } from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; import type { - TypedEventFilter, - TypedEvent, + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, TypedListener, - OnEvent, + TypedContractMethod, } from "./common"; -export interface ForwarderInterface extends utils.Interface { - functions: { - "checker(bytes)": FunctionFragment; - }; - - getFunction(nameOrSignatureOrTopic: "checker"): FunctionFragment; +export interface ForwarderInterface extends Interface { + getFunction(nameOrSignature: "checker"): FunctionFragment; encodeFunctionData(functionFragment: "checker", values: [BytesLike]): string; decodeFunctionResult(functionFragment: "checker", data: BytesLike): Result; - - events: {}; } export interface Forwarder extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; + connect(runner?: ContractRunner | null): Forwarder; + waitForDeployment(): Promise; interface: ForwarderInterface; - queryFilter( - event: TypedEventFilter, + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined, - ): Promise>; + ): Promise>>; - listeners( - eventFilter?: TypedEventFilter, - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter, - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; + on( + event: TCEvent, + listener: TypedListener, + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener, + ): Promise; - functions: { - checker( - execData: BytesLike, - overrides?: CallOverrides, - ): Promise<[boolean, string]>; - }; + once( + event: TCEvent, + listener: TypedListener, + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener, + ): Promise; - checker( - execData: BytesLike, - overrides?: CallOverrides, - ): Promise<[boolean, string]>; + listeners( + event: TCEvent, + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent, + ): Promise; - callStatic: { - checker( - execData: BytesLike, - overrides?: CallOverrides, - ): Promise<[boolean, string]>; - }; + checker: TypedContractMethod< + [execData: BytesLike], + [[boolean, string]], + "view" + >; - filters: {}; + getFunction( + key: string | FunctionFragment, + ): T; - estimateGas: { - checker(execData: BytesLike, overrides?: CallOverrides): Promise; - }; + getFunction( + nameOrSignature: "checker", + ): TypedContractMethod<[execData: BytesLike], [[boolean, string]], "view">; - populateTransaction: { - checker( - execData: BytesLike, - overrides?: CallOverrides, - ): Promise; - }; + filters: {}; } diff --git a/src/contracts/types/ProxyModule.ts b/src/contracts/types/ProxyModule.ts index 503a3ad..ab4f1a9 100644 --- a/src/contracts/types/ProxyModule.ts +++ b/src/contracts/types/ProxyModule.ts @@ -3,43 +3,27 @@ /* eslint-disable */ import type { BaseContract, - BigNumber, BigNumberish, BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, } from "ethers"; -import type { FunctionFragment, Result } from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; import type { - TypedEventFilter, - TypedEvent, + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, TypedListener, - OnEvent, + TypedContractMethod, } from "./common"; -export interface ProxyModuleInterface extends utils.Interface { - functions: { - "execAddresses(bytes32)": FunctionFragment; - "fee()": FunctionFragment; - "feeToken()": FunctionFragment; - "onCreateTask(bytes32,address,address,bytes,bytes)": FunctionFragment; - "opsProxyFactory()": FunctionFragment; - "postExecCall(bytes32,address,address,bytes)": FunctionFragment; - "preCancelTask(bytes32,address)": FunctionFragment; - "preCreateTask(address,address)": FunctionFragment; - "preExecCall(bytes32,address,address,bytes)": FunctionFragment; - "taskCreator(bytes32)": FunctionFragment; - "taskModuleAddresses(uint8)": FunctionFragment; - "timedTask(bytes32)": FunctionFragment; - }; - +export interface ProxyModuleInterface extends Interface { getFunction( - nameOrSignatureOrTopic: + nameOrSignature: | "execAddresses" | "fee" | "feeToken" @@ -62,7 +46,7 @@ export interface ProxyModuleInterface extends utils.Interface { encodeFunctionData(functionFragment: "feeToken", values?: undefined): string; encodeFunctionData( functionFragment: "onCreateTask", - values: [BytesLike, string, string, BytesLike, BytesLike], + values: [BytesLike, AddressLike, AddressLike, BytesLike, BytesLike], ): string; encodeFunctionData( functionFragment: "opsProxyFactory", @@ -70,19 +54,19 @@ export interface ProxyModuleInterface extends utils.Interface { ): string; encodeFunctionData( functionFragment: "postExecCall", - values: [BytesLike, string, string, BytesLike], + values: [BytesLike, AddressLike, AddressLike, BytesLike], ): string; encodeFunctionData( functionFragment: "preCancelTask", - values: [BytesLike, string], + values: [BytesLike, AddressLike], ): string; encodeFunctionData( functionFragment: "preCreateTask", - values: [string, string], + values: [AddressLike, AddressLike], ): string; encodeFunctionData( functionFragment: "preExecCall", - values: [BytesLike, string, string, BytesLike], + values: [BytesLike, AddressLike, AddressLike, BytesLike], ): string; encodeFunctionData( functionFragment: "taskCreator", @@ -136,343 +120,199 @@ export interface ProxyModuleInterface extends utils.Interface { data: BytesLike, ): Result; decodeFunctionResult(functionFragment: "timedTask", data: BytesLike): Result; - - events: {}; } export interface ProxyModule extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; + connect(runner?: ContractRunner | null): ProxyModule; + waitForDeployment(): Promise; interface: ProxyModuleInterface; - queryFilter( - event: TypedEventFilter, + queryFilter( + event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined, - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter, - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter, - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - execAddresses( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise<[string]>; - - fee(overrides?: CallOverrides): Promise<[BigNumber]>; - - feeToken(overrides?: CallOverrides): Promise<[string]>; - - onCreateTask( + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined, + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener, + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener, + ): Promise; + + once( + event: TCEvent, + listener: TypedListener, + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener, + ): Promise; + + listeners( + event: TCEvent, + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent, + ): Promise; + + execAddresses: TypedContractMethod<[arg0: BytesLike], [string], "view">; + + fee: TypedContractMethod<[], [bigint], "view">; + + feeToken: TypedContractMethod<[], [string], "view">; + + onCreateTask: TypedContractMethod< + [ arg0: BytesLike, - _taskCreator: string, - arg2: string, + _taskCreator: AddressLike, + arg2: AddressLike, arg3: BytesLike, arg4: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; + ], + [void], + "nonpayable" + >; - opsProxyFactory(overrides?: CallOverrides): Promise<[string]>; + opsProxyFactory: TypedContractMethod<[], [string], "view">; - postExecCall( + postExecCall: TypedContractMethod< + [ taskId: BytesLike, - taskCreator: string, - execAddress: string, + taskCreator: AddressLike, + execAddress: AddressLike, execData: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; + ], + [void], + "nonpayable" + >; - preCancelTask( - arg0: BytesLike, - _taskCreator: string, - overrides?: CallOverrides, - ): Promise<[string]>; + preCancelTask: TypedContractMethod< + [arg0: BytesLike, _taskCreator: AddressLike], + [string], + "view" + >; - preCreateTask( - _taskCreator: string, - _execAddress: string, - overrides?: CallOverrides, - ): Promise<[string, string]>; + preCreateTask: TypedContractMethod< + [_taskCreator: AddressLike, _execAddress: AddressLike], + [[string, string]], + "view" + >; - preExecCall( + preExecCall: TypedContractMethod< + [ arg0: BytesLike, - _taskCreator: string, - _execAddress: string, + _taskCreator: AddressLike, + _execAddress: AddressLike, _execData: BytesLike, - overrides?: CallOverrides, - ): Promise<[string, string] & { execData: string }>; - - taskCreator(arg0: BytesLike, overrides?: CallOverrides): Promise<[string]>; - - taskModuleAddresses( - arg0: BigNumberish, - overrides?: CallOverrides, - ): Promise<[string]>; - - timedTask( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise< - [BigNumber, BigNumber] & { nextExec: BigNumber; interval: BigNumber } - >; - }; - - execAddresses(arg0: BytesLike, overrides?: CallOverrides): Promise; - - fee(overrides?: CallOverrides): Promise; - - feeToken(overrides?: CallOverrides): Promise; - - onCreateTask( - arg0: BytesLike, - _taskCreator: string, - arg2: string, - arg3: BytesLike, - arg4: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; - - opsProxyFactory(overrides?: CallOverrides): Promise; - - postExecCall( - taskId: BytesLike, - taskCreator: string, - execAddress: string, - execData: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; - - preCancelTask( - arg0: BytesLike, - _taskCreator: string, - overrides?: CallOverrides, - ): Promise; - - preCreateTask( - _taskCreator: string, - _execAddress: string, - overrides?: CallOverrides, - ): Promise<[string, string]>; - - preExecCall( - arg0: BytesLike, - _taskCreator: string, - _execAddress: string, - _execData: BytesLike, - overrides?: CallOverrides, - ): Promise<[string, string] & { execData: string }>; - - taskCreator(arg0: BytesLike, overrides?: CallOverrides): Promise; + ], + [[string, string] & { execData: string }], + "view" + >; - taskModuleAddresses( - arg0: BigNumberish, - overrides?: CallOverrides, - ): Promise; + taskCreator: TypedContractMethod<[arg0: BytesLike], [string], "view">; - timedTask( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise< - [BigNumber, BigNumber] & { nextExec: BigNumber; interval: BigNumber } + taskModuleAddresses: TypedContractMethod< + [arg0: BigNumberish], + [string], + "view" >; - callStatic: { - execAddresses(arg0: BytesLike, overrides?: CallOverrides): Promise; - - fee(overrides?: CallOverrides): Promise; + timedTask: TypedContractMethod< + [arg0: BytesLike], + [[bigint, bigint] & { nextExec: bigint; interval: bigint }], + "view" + >; - feeToken(overrides?: CallOverrides): Promise; + getFunction( + key: string | FunctionFragment, + ): T; - onCreateTask( + getFunction( + nameOrSignature: "execAddresses", + ): TypedContractMethod<[arg0: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "fee", + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeToken", + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "onCreateTask", + ): TypedContractMethod< + [ arg0: BytesLike, - _taskCreator: string, - arg2: string, + _taskCreator: AddressLike, + arg2: AddressLike, arg3: BytesLike, arg4: BytesLike, - overrides?: CallOverrides, - ): Promise; - - opsProxyFactory(overrides?: CallOverrides): Promise; - - postExecCall( + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "opsProxyFactory", + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "postExecCall", + ): TypedContractMethod< + [ taskId: BytesLike, - taskCreator: string, - execAddress: string, + taskCreator: AddressLike, + execAddress: AddressLike, execData: BytesLike, - overrides?: CallOverrides, - ): Promise; - - preCancelTask( - arg0: BytesLike, - _taskCreator: string, - overrides?: CallOverrides, - ): Promise; - - preCreateTask( - _taskCreator: string, - _execAddress: string, - overrides?: CallOverrides, - ): Promise<[string, string]>; - - preExecCall( + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "preCancelTask", + ): TypedContractMethod< + [arg0: BytesLike, _taskCreator: AddressLike], + [string], + "view" + >; + getFunction( + nameOrSignature: "preCreateTask", + ): TypedContractMethod< + [_taskCreator: AddressLike, _execAddress: AddressLike], + [[string, string]], + "view" + >; + getFunction( + nameOrSignature: "preExecCall", + ): TypedContractMethod< + [ arg0: BytesLike, - _taskCreator: string, - _execAddress: string, + _taskCreator: AddressLike, + _execAddress: AddressLike, _execData: BytesLike, - overrides?: CallOverrides, - ): Promise<[string, string] & { execData: string }>; - - taskCreator(arg0: BytesLike, overrides?: CallOverrides): Promise; - - taskModuleAddresses( - arg0: BigNumberish, - overrides?: CallOverrides, - ): Promise; - - timedTask( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise< - [BigNumber, BigNumber] & { nextExec: BigNumber; interval: BigNumber } - >; - }; + ], + [[string, string] & { execData: string }], + "view" + >; + getFunction( + nameOrSignature: "taskCreator", + ): TypedContractMethod<[arg0: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "taskModuleAddresses", + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "timedTask", + ): TypedContractMethod< + [arg0: BytesLike], + [[bigint, bigint] & { nextExec: bigint; interval: bigint }], + "view" + >; filters: {}; - - estimateGas: { - execAddresses( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise; - - fee(overrides?: CallOverrides): Promise; - - feeToken(overrides?: CallOverrides): Promise; - - onCreateTask( - arg0: BytesLike, - _taskCreator: string, - arg2: string, - arg3: BytesLike, - arg4: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; - - opsProxyFactory(overrides?: CallOverrides): Promise; - - postExecCall( - taskId: BytesLike, - taskCreator: string, - execAddress: string, - execData: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; - - preCancelTask( - arg0: BytesLike, - _taskCreator: string, - overrides?: CallOverrides, - ): Promise; - - preCreateTask( - _taskCreator: string, - _execAddress: string, - overrides?: CallOverrides, - ): Promise; - - preExecCall( - arg0: BytesLike, - _taskCreator: string, - _execAddress: string, - _execData: BytesLike, - overrides?: CallOverrides, - ): Promise; - - taskCreator(arg0: BytesLike, overrides?: CallOverrides): Promise; - - taskModuleAddresses( - arg0: BigNumberish, - overrides?: CallOverrides, - ): Promise; - - timedTask(arg0: BytesLike, overrides?: CallOverrides): Promise; - }; - - populateTransaction: { - execAddresses( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise; - - fee(overrides?: CallOverrides): Promise; - - feeToken(overrides?: CallOverrides): Promise; - - onCreateTask( - arg0: BytesLike, - _taskCreator: string, - arg2: string, - arg3: BytesLike, - arg4: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; - - opsProxyFactory(overrides?: CallOverrides): Promise; - - postExecCall( - taskId: BytesLike, - taskCreator: string, - execAddress: string, - execData: BytesLike, - overrides?: Overrides & { from?: string }, - ): Promise; - - preCancelTask( - arg0: BytesLike, - _taskCreator: string, - overrides?: CallOverrides, - ): Promise; - - preCreateTask( - _taskCreator: string, - _execAddress: string, - overrides?: CallOverrides, - ): Promise; - - preExecCall( - arg0: BytesLike, - _taskCreator: string, - _execAddress: string, - _execData: BytesLike, - overrides?: CallOverrides, - ): Promise; - - taskCreator( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise; - - taskModuleAddresses( - arg0: BigNumberish, - overrides?: CallOverrides, - ): Promise; - - timedTask( - arg0: BytesLike, - overrides?: CallOverrides, - ): Promise; - }; } diff --git a/src/contracts/types/common.ts b/src/contracts/types/common.ts index 2f8273d..6b29239 100644 --- a/src/contracts/types/common.ts +++ b/src/contracts/types/common.ts @@ -1,33 +1,68 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import type { Listener } from "@ethersproject/providers"; -import type { Event, EventFilter } from "ethers"; - -export interface TypedEvent< - TArgsArray extends Array = any, - TArgsObject = any, -> extends Event { - args: TArgsArray & TArgsObject; -} +import type { + FunctionFragment, + Typed, + EventFragment, + ContractTransaction, + ContractTransactionResponse, + DeferredTopicFilter, + EventLog, + TransactionRequest, + LogDescription, +} from "ethers"; -export interface TypedEventFilter<_TEvent extends TypedEvent> - extends EventFilter {} +export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> + extends DeferredTopicFilter {} -export interface TypedListener { - (...listenerArg: [...__TypechainArgsArray, TEvent]): void; +export interface TypedContractEvent< + InputTuple extends Array = any, + OutputTuple extends Array = any, + OutputObject = any, +> { + ( + ...args: Partial + ): TypedDeferredTopicFilter< + TypedContractEvent + >; + name: string; + fragment: EventFragment; + getFragment(...args: Partial): EventFragment; } -type __TypechainArgsArray = T extends TypedEvent ? U : never; +type __TypechainAOutputTuple = T extends TypedContractEvent< + infer _U, + infer W +> + ? W + : never; +type __TypechainOutputObject = T extends TypedContractEvent< + infer _U, + infer _W, + infer V +> + ? V + : never; + +export interface TypedEventLog + extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; +} -export interface OnEvent { - ( - eventFilter: TypedEventFilter, - listener: TypedListener, - ): TRes; - (eventName: string, listener: Listener): TRes; +export interface TypedLogDescription + extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; } +export type TypedListener = ( + ...listenerArg: [ + ...__TypechainAOutputTuple, + TypedEventLog, + ...undefined[], + ] +) => void; + export type MinEthersFactory = { deploy(...a: ARGS[]): Promise; }; @@ -38,7 +73,63 @@ export type GetContractTypeFromFactory = F extends MinEthersFactory< > ? C : never; - export type GetARGsTypeFromFactory = F extends MinEthersFactory ? Parameters : never; + +export type StateMutability = "nonpayable" | "payable" | "view"; + +export type BaseOverrides = Omit; +export type NonPayableOverrides = Omit< + BaseOverrides, + "value" | "blockTag" | "enableCcipRead" +>; +export type PayableOverrides = Omit< + BaseOverrides, + "blockTag" | "enableCcipRead" +>; +export type ViewOverrides = Omit; +export type Overrides = S extends "nonpayable" + ? NonPayableOverrides + : S extends "payable" + ? PayableOverrides + : ViewOverrides; + +export type PostfixOverrides, S extends StateMutability> = + | A + | [...A, Overrides]; +export type ContractMethodArgs< + A extends Array, + S extends StateMutability, +> = PostfixOverrides<{ [I in keyof A]-?: A[I] | Typed }, S>; + +export type DefaultReturnType = R extends Array ? R[0] : R; + +// export interface ContractMethod = Array, R = any, D extends R | ContractTransactionResponse = R | ContractTransactionResponse> { +export interface TypedContractMethod< + A extends Array = Array, + R = any, + S extends StateMutability = "payable", +> { + ( + ...args: ContractMethodArgs + ): S extends "view" + ? Promise> + : Promise; + + name: string; + + fragment: FunctionFragment; + + getFragment(...args: ContractMethodArgs): FunctionFragment; + + populateTransaction( + ...args: ContractMethodArgs + ): Promise; + staticCall( + ...args: ContractMethodArgs + ): Promise>; + send(...args: ContractMethodArgs): Promise; + estimateGas(...args: ContractMethodArgs): Promise; + staticCallResult(...args: ContractMethodArgs): Promise; +} diff --git a/src/contracts/types/factories/AutomateProxyFactory__factory.ts b/src/contracts/types/factories/AutomateProxyFactory__factory.ts index dc26b49..0d2d406 100644 --- a/src/contracts/types/factories/AutomateProxyFactory__factory.ts +++ b/src/contracts/types/factories/AutomateProxyFactory__factory.ts @@ -1,8 +1,19 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../common"; import type { AutomateProxyFactory, AutomateProxyFactoryInterface, @@ -255,44 +266,43 @@ export class AutomateProxyFactory__factory extends ContractFactory { } } - override deploy( - _ops: string, - _implementation: string, - overrides?: Overrides & { from?: string }, - ): Promise { - return super.deploy( - _ops, - _implementation, - overrides || {}, - ) as Promise; - } override getDeployTransaction( - _ops: string, - _implementation: string, - overrides?: Overrides & { from?: string }, - ): TransactionRequest { + _ops: AddressLike, + _implementation: AddressLike, + overrides?: NonPayableOverrides & { from?: string }, + ): Promise { return super.getDeployTransaction(_ops, _implementation, overrides || {}); } - override attach(address: string): AutomateProxyFactory { - return super.attach(address) as AutomateProxyFactory; + override deploy( + _ops: AddressLike, + _implementation: AddressLike, + overrides?: NonPayableOverrides & { from?: string }, + ) { + return super.deploy(_ops, _implementation, overrides || {}) as Promise< + AutomateProxyFactory & { + deploymentTransaction(): ContractTransactionResponse; + } + >; } - override connect(signer: Signer): AutomateProxyFactory__factory { - return super.connect(signer) as AutomateProxyFactory__factory; + override connect( + runner: ContractRunner | null, + ): AutomateProxyFactory__factory { + return super.connect(runner) as AutomateProxyFactory__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): AutomateProxyFactoryInterface { - return new utils.Interface(_abi) as AutomateProxyFactoryInterface; + return new Interface(_abi) as AutomateProxyFactoryInterface; } static connect( address: string, - signerOrProvider: Signer | Provider, + runner?: ContractRunner | null, ): AutomateProxyFactory { return new Contract( address, _abi, - signerOrProvider, - ) as AutomateProxyFactory; + runner, + ) as unknown as AutomateProxyFactory; } } diff --git a/src/contracts/types/factories/AutomateProxy__factory.ts b/src/contracts/types/factories/AutomateProxy__factory.ts index 1a6ad8a..d57952f 100644 --- a/src/contracts/types/factories/AutomateProxy__factory.ts +++ b/src/contracts/types/factories/AutomateProxy__factory.ts @@ -1,8 +1,19 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../common"; import type { AutomateProxy, AutomateProxyInterface } from "../AutomateProxy"; const _abi = [ @@ -159,34 +170,35 @@ export class AutomateProxy__factory extends ContractFactory { } } - override deploy( - _ops: string, - overrides?: Overrides & { from?: string }, - ): Promise { - return super.deploy(_ops, overrides || {}) as Promise; - } override getDeployTransaction( - _ops: string, - overrides?: Overrides & { from?: string }, - ): TransactionRequest { + _ops: AddressLike, + overrides?: NonPayableOverrides & { from?: string }, + ): Promise { return super.getDeployTransaction(_ops, overrides || {}); } - override attach(address: string): AutomateProxy { - return super.attach(address) as AutomateProxy; + override deploy( + _ops: AddressLike, + overrides?: NonPayableOverrides & { from?: string }, + ) { + return super.deploy(_ops, overrides || {}) as Promise< + AutomateProxy & { + deploymentTransaction(): ContractTransactionResponse; + } + >; } - override connect(signer: Signer): AutomateProxy__factory { - return super.connect(signer) as AutomateProxy__factory; + override connect(runner: ContractRunner | null): AutomateProxy__factory { + return super.connect(runner) as AutomateProxy__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): AutomateProxyInterface { - return new utils.Interface(_abi) as AutomateProxyInterface; + return new Interface(_abi) as AutomateProxyInterface; } static connect( address: string, - signerOrProvider: Signer | Provider, + runner?: ContractRunner | null, ): AutomateProxy { - return new Contract(address, _abi, signerOrProvider) as AutomateProxy; + return new Contract(address, _abi, runner) as unknown as AutomateProxy; } } diff --git a/src/contracts/types/factories/Automate__factory.ts b/src/contracts/types/factories/Automate__factory.ts index e36d8e6..9020b38 100644 --- a/src/contracts/types/factories/Automate__factory.ts +++ b/src/contracts/types/factories/Automate__factory.ts @@ -1,8 +1,19 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../common"; import type { Automate, AutomateInterface } from "../Automate"; const _abi = [ @@ -368,40 +379,34 @@ export class Automate__factory extends ContractFactory { } } - override deploy( - _gelato: string, - _taskTreasury: string, - overrides?: Overrides & { from?: string }, - ): Promise { - return super.deploy( - _gelato, - _taskTreasury, - overrides || {}, - ) as Promise; - } override getDeployTransaction( - _gelato: string, - _taskTreasury: string, - overrides?: Overrides & { from?: string }, - ): TransactionRequest { + _gelato: AddressLike, + _taskTreasury: AddressLike, + overrides?: NonPayableOverrides & { from?: string }, + ): Promise { return super.getDeployTransaction(_gelato, _taskTreasury, overrides || {}); } - override attach(address: string): Automate { - return super.attach(address) as Automate; + override deploy( + _gelato: AddressLike, + _taskTreasury: AddressLike, + overrides?: NonPayableOverrides & { from?: string }, + ) { + return super.deploy(_gelato, _taskTreasury, overrides || {}) as Promise< + Automate & { + deploymentTransaction(): ContractTransactionResponse; + } + >; } - override connect(signer: Signer): Automate__factory { - return super.connect(signer) as Automate__factory; + override connect(runner: ContractRunner | null): Automate__factory { + return super.connect(runner) as Automate__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): AutomateInterface { - return new utils.Interface(_abi) as AutomateInterface; + return new Interface(_abi) as AutomateInterface; } - static connect( - address: string, - signerOrProvider: Signer | Provider, - ): Automate { - return new Contract(address, _abi, signerOrProvider) as Automate; + static connect(address: string, runner?: ContractRunner | null): Automate { + return new Contract(address, _abi, runner) as unknown as Automate; } } diff --git a/src/contracts/types/factories/Forwarder__factory.ts b/src/contracts/types/factories/Forwarder__factory.ts index e27bdb5..ace57dd 100644 --- a/src/contracts/types/factories/Forwarder__factory.ts +++ b/src/contracts/types/factories/Forwarder__factory.ts @@ -2,8 +2,7 @@ /* tslint:disable */ /* eslint-disable */ -import { Contract, Signer, utils } from "ethers"; -import type { Provider } from "@ethersproject/providers"; +import { Contract, Interface, type ContractRunner } from "ethers"; import type { Forwarder, ForwarderInterface } from "../Forwarder"; const _abi = [ @@ -36,12 +35,9 @@ const _abi = [ export class Forwarder__factory { static readonly abi = _abi; static createInterface(): ForwarderInterface { - return new utils.Interface(_abi) as ForwarderInterface; + return new Interface(_abi) as ForwarderInterface; } - static connect( - address: string, - signerOrProvider: Signer | Provider, - ): Forwarder { - return new Contract(address, _abi, signerOrProvider) as Forwarder; + static connect(address: string, runner?: ContractRunner | null): Forwarder { + return new Contract(address, _abi, runner) as unknown as Forwarder; } } diff --git a/src/contracts/types/factories/ProxyModule__factory.ts b/src/contracts/types/factories/ProxyModule__factory.ts index 188176e..a18ef54 100644 --- a/src/contracts/types/factories/ProxyModule__factory.ts +++ b/src/contracts/types/factories/ProxyModule__factory.ts @@ -1,8 +1,19 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../common"; import type { ProxyModule, ProxyModuleInterface } from "../ProxyModule"; const _abi = [ @@ -312,37 +323,32 @@ export class ProxyModule__factory extends ContractFactory { } } - override deploy( - _opsProxyFactory: string, - overrides?: Overrides & { from?: string }, - ): Promise { - return super.deploy( - _opsProxyFactory, - overrides || {}, - ) as Promise; - } override getDeployTransaction( - _opsProxyFactory: string, - overrides?: Overrides & { from?: string }, - ): TransactionRequest { + _opsProxyFactory: AddressLike, + overrides?: NonPayableOverrides & { from?: string }, + ): Promise { return super.getDeployTransaction(_opsProxyFactory, overrides || {}); } - override attach(address: string): ProxyModule { - return super.attach(address) as ProxyModule; + override deploy( + _opsProxyFactory: AddressLike, + overrides?: NonPayableOverrides & { from?: string }, + ) { + return super.deploy(_opsProxyFactory, overrides || {}) as Promise< + ProxyModule & { + deploymentTransaction(): ContractTransactionResponse; + } + >; } - override connect(signer: Signer): ProxyModule__factory { - return super.connect(signer) as ProxyModule__factory; + override connect(runner: ContractRunner | null): ProxyModule__factory { + return super.connect(runner) as ProxyModule__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): ProxyModuleInterface { - return new utils.Interface(_abi) as ProxyModuleInterface; + return new Interface(_abi) as ProxyModuleInterface; } - static connect( - address: string, - signerOrProvider: Signer | Provider, - ): ProxyModule { - return new Contract(address, _abi, signerOrProvider) as ProxyModule; + static connect(address: string, runner?: ContractRunner | null): ProxyModule { + return new Contract(address, _abi, runner) as unknown as ProxyModule; } } diff --git a/src/index.test.ts b/src/index.test.ts index ad04d55..fca446b 100644 --- a/src/index.test.ts +++ b/src/index.test.ts @@ -8,28 +8,88 @@ if (!process.env.PK) throw new Error("Missing env PK"); const pk = process.env.PK; if (!process.env.PROVIDER_URL) throw new Error("Missing env PROVIDER_URL"); const providerUrl = process.env.PROVIDER_URL; -const chainId = 80001; // mumbai +const chainId = 421614; // amoy -const iceCreamAddress = "0xa5f9b728ecEB9A1F6FCC89dcc2eFd810bA4Dec41"; // mumbai IceCreamNFT -const iceCreamAbi = ["function lick(uint256) external"]; -const iceCreamInterface = new ethers.utils.Interface(iceCreamAbi); +const counterAutomateAddress = "0xdDF2D006e3010e62c354508D42a2eA5910A88bD2"; +const counterAutomateABI = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "newCount", + type: "uint256", + }, + ], + name: "CounterIncremented", + type: "event", + }, + { + inputs: [], + name: "count", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "increment", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +]; +const counterAutomateInterface = new ethers.Interface(counterAutomateABI); const main = async () => { - const provider = new ethers.providers.JsonRpcProvider(providerUrl); + const provider = new ethers.JsonRpcProvider(providerUrl); const wallet = new ethers.Wallet(pk as string, provider); const sdk = new AutomateSDK(chainId, wallet); + console.log("SDK initialized", sdk); + + const getTimeStampNow = async (): Promise => { + const blockNumber = await provider.getBlockNumber(); + const block = await provider.getBlock(blockNumber); + if (!block) throw new Error("Block not found"); + return block.timestamp; + }; const { taskId, tx } = await sdk.createTask({ - name: "AutomateSdkTest", - execAddress: iceCreamAddress, - execSelector: iceCreamInterface.getSighash("lick"), - execData: iceCreamInterface.encodeFunctionData("lick", [2]), + name: "Test Counter Automate Arbitrum", + execAddress: counterAutomateAddress, + execSelector: + counterAutomateInterface.getFunction("increment")?.selector ?? "", dedicatedMsgSender: true, - singleExec: true, + singleExec: false, trigger: { type: TriggerType.TIME, - start: (await provider.getBlock("latest")).timestamp + 300, + start: (await getTimeStampNow()) + 300, interval: 60 * 1000, }, }); diff --git a/src/lib/AutomateModule.ts b/src/lib/AutomateModule.ts index 6b5c9fd..ef6d312 100644 --- a/src/lib/AutomateModule.ts +++ b/src/lib/AutomateModule.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/naming-convention */ /* eslint-disable no-empty */ -import { BigNumber, ethers } from "ethers"; +import { ethers } from "ethers"; import { Module, ModuleArgsParams, @@ -139,7 +139,7 @@ export class AutomateModule { resolverAddress: string, resolverData: string, ): string => { - const encoded = ethers.utils.defaultAbiCoder.encode( + const encoded = ethers.AbiCoder.defaultAbiCoder().encode( ["address", "bytes"], [resolverAddress, resolverData], ); @@ -152,10 +152,11 @@ export class AutomateModule { let resolverData: string | null = null; try { - [resolverAddress, resolverData] = ethers.utils.defaultAbiCoder.decode( - ["address", "bytes"], - encodedModuleArgs, - ); + [resolverAddress, resolverData] = + ethers.AbiCoder.defaultAbiCoder().decode( + ["address", "bytes"], + encodedModuleArgs, + ); } catch {} return { resolverAddress, resolverData }; @@ -189,13 +190,13 @@ export class AutomateModule { values.push(web3FunctionArgs[key]); } - web3FunctionArgsHex = ethers.utils.defaultAbiCoder.encode( + web3FunctionArgsHex = ethers.AbiCoder.defaultAbiCoder().encode( types, values, ); } - const encoded = ethers.utils.defaultAbiCoder.encode( + const encoded = ethers.AbiCoder.defaultAbiCoder().encode( ["string", "bytes"], [web3FunctionHash, web3FunctionArgsHex], ); @@ -215,7 +216,7 @@ export class AutomateModule { let web3FunctionSchema: Web3FunctionSchema | undefined; [web3FunctionHash, web3FunctionArgsHex] = - ethers.utils.defaultAbiCoder.decode( + ethers.AbiCoder.defaultAbiCoder().decode( ["string", "bytes"], encodedModuleArgs, ); @@ -245,27 +246,27 @@ export class AutomateModule { let triggerArgs: string; if (trigger.type === TriggerType.TIME) { - const triggerBytes = ethers.utils.defaultAbiCoder.encode( + const triggerBytes = ethers.AbiCoder.defaultAbiCoder().encode( ["uint128", "uint128"], [trigger.start ?? 0, trigger.interval], ); - triggerArgs = ethers.utils.defaultAbiCoder.encode( + triggerArgs = ethers.AbiCoder.defaultAbiCoder().encode( ["uint128", "bytes"], [Number(TriggerType.TIME), triggerBytes], ); } else if (trigger.type === TriggerType.CRON) { - const triggerBytes = ethers.utils.defaultAbiCoder.encode( + const triggerBytes = ethers.AbiCoder.defaultAbiCoder().encode( ["string"], [trigger.cron], ); - triggerArgs = ethers.utils.defaultAbiCoder.encode( + triggerArgs = ethers.AbiCoder.defaultAbiCoder().encode( ["uint8", "bytes"], [Number(TriggerType.CRON), triggerBytes], ); } else if (trigger.type === TriggerType.EVENT) { - const triggerBytes = ethers.utils.defaultAbiCoder.encode( + const triggerBytes = ethers.AbiCoder.defaultAbiCoder().encode( ["address", "bytes32[][]", "uint256"], [ trigger.filter.address, @@ -274,17 +275,17 @@ export class AutomateModule { ], ); - triggerArgs = ethers.utils.defaultAbiCoder.encode( + triggerArgs = ethers.AbiCoder.defaultAbiCoder().encode( ["uint8", "bytes"], [Number(TriggerType.EVENT), triggerBytes], ); } else { - const triggerBytes = ethers.utils.defaultAbiCoder.encode( + const triggerBytes = ethers.AbiCoder.defaultAbiCoder().encode( ["bytes"], ["0x"], ); - triggerArgs = ethers.utils.defaultAbiCoder.encode( + triggerArgs = ethers.AbiCoder.defaultAbiCoder().encode( ["uint8", "bytes"], [Number(TriggerType.BLOCK), triggerBytes], ); @@ -301,29 +302,29 @@ export class AutomateModule { let trigger: TriggerConfig | null = null; try { - [type, encodedTriggerConfig] = ethers.utils.defaultAbiCoder.decode( + [type, encodedTriggerConfig] = ethers.AbiCoder.defaultAbiCoder().decode( ["uint8", "bytes"], encodedModuleArgs, ); if (type !== null && encodedTriggerConfig !== null) { if (type === TriggerType.TIME) { - let [start, interval] = ethers.utils.defaultAbiCoder.decode( + let [start, interval] = ethers.AbiCoder.defaultAbiCoder().decode( ["uint128", "uint128"], encodedTriggerConfig, ); if (start !== null && interval !== null) { - if (typeof start === "object" && start instanceof BigNumber) { - start = start.toNumber(); + if (typeof start === "object" && start instanceof BigInt) { + start = Number(start); } - if (typeof interval === "object" && interval instanceof BigNumber) { - interval = interval.toNumber(); + if (typeof interval === "object" && interval instanceof BigInt) { + interval = Number(interval); } trigger = { type, start, interval }; } } else if (type === TriggerType.CRON) { - const [cron] = ethers.utils.defaultAbiCoder.decode( + const [cron] = ethers.AbiCoder.defaultAbiCoder().decode( ["string"], encodedTriggerConfig, ); @@ -333,7 +334,7 @@ export class AutomateModule { } } else if (type === TriggerType.EVENT) { const [address, topics, blockConfirmations] = - ethers.utils.defaultAbiCoder.decode( + ethers.AbiCoder.defaultAbiCoder().decode( ["address", "bytes32[][]", "uint256"], encodedTriggerConfig, ); @@ -386,7 +387,7 @@ export class AutomateModule { ); const { types, keys, schema } = schemaAbi; - const web3FunctionArgsValues = ethers.utils.defaultAbiCoder.decode( + const web3FunctionArgsValues = ethers.AbiCoder.defaultAbiCoder().decode( types, web3FunctionArgsHex, // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -399,14 +400,14 @@ export class AutomateModule { // Transform BigNumber[] in number[] if (Array.isArray(val)) { val = val.map((v) => { - if (typeof v === "object" && v instanceof BigNumber) { - return v.toNumber(); + if (typeof v === "object" && v instanceof BigInt) { + return Number(v); } return v; }); // Transform BigNumber in number - } else if (typeof val === "object" && val instanceof BigNumber) { - val = val.toNumber(); + } else if (typeof val === "object" && val instanceof BigInt) { + val = Number(val); } web3FunctionArgs[key] = val; diff --git a/src/lib/AutomateSDK.ts b/src/lib/AutomateSDK.ts index baa2d99..2d53bda 100644 --- a/src/lib/AutomateSDK.ts +++ b/src/lib/AutomateSDK.ts @@ -6,9 +6,9 @@ import axios, { Axios } from "axios"; import { ContractTransaction, Overrides, - PopulatedTransaction, ethers, - providers, + Provider, + TransactionResponse, } from "ethers"; import { AUTOMATE_TASKS_API, @@ -48,7 +48,7 @@ import { Signature } from "./Signature"; export class AutomateSDK { private _automateModule: AutomateModule; private readonly _chainId: number; - private readonly _signer: Signer; + private readonly _signer: ethers.Signer; private _automate: Automate; private _opsProxyFactory: AutomateProxyFactory | undefined; private readonly _taskApi: Axios; @@ -56,7 +56,7 @@ export class AutomateSDK { constructor( chainId: number, - signer: Signer, + signer: ethers.Signer, //Take a look at this first signatureMessage?: string, config?: Partial, ) { @@ -75,8 +75,12 @@ export class AutomateSDK { automateAddress = GELATO_ADDRESSES[chainId].automate; } - if (!Signer.isSigner(signer)) { - throw new Error(`Invalid Automate signer`); + // if (!Signer.isSigner(signer)) { + // throw new Error(`Invalid Automate signer`); + // } + + if (!signer.provider) { + throw new Error(`Invalid Automate signer provider`); } this._automateModule = new AutomateModule(); @@ -88,6 +92,7 @@ export class AutomateSDK { ); this._chainId = chainId; this._signer = signer; + this._automate = Automate__factory.connect(automateAddress, this._signer); let taskApiUrl: string = AUTOMATE_TASKS_API; @@ -192,8 +197,8 @@ export class AutomateSDK { ) return this._getLegacyTaskId(args, address); - const taskId = ethers.utils.keccak256( - ethers.utils.defaultAbiCoder.encode( + const taskId = ethers.keccak256( + ethers.AbiCoder.defaultAbiCoder().encode( [ "address", "address", @@ -206,7 +211,7 @@ export class AutomateSDK { args.execAddress, args.execSelector, args.moduleData, - args.useTreasury ? ethers.constants.AddressZero : ETH, + args.useTreasury ? ethers.ZeroAddress : ETH, ], ), ); @@ -217,22 +222,22 @@ export class AutomateSDK { args: CreateTaskOptionsWithModules, creatorAddress: string, ): Promise { - const resolverHash = ethers.utils.keccak256( - ethers.utils.defaultAbiCoder.encode( + const resolverHash = ethers.keccak256( + ethers.AbiCoder.defaultAbiCoder().encode( ["address", "bytes"], [args.resolverAddress, args.resolverData], ), ); - const taskId = ethers.utils.keccak256( - ethers.utils.defaultAbiCoder.encode( + const taskId = ethers.keccak256( + ethers.AbiCoder.defaultAbiCoder().encode( ["address", "address", "bytes4", "bool", "address", "bytes32"], [ creatorAddress, args.execAddress, args.execSelector, args.useTreasury, - args.useTreasury ? ethers.constants.AddressZero : ETH, + args.useTreasury ? ethers.ZeroAddress : ETH, resolverHash, ], ), @@ -251,9 +256,11 @@ export class AutomateSDK { const automateProxyInterface = AutomateProxy__factory.createInterface(); - const execSelector = automateProxyInterface.getSighash("batchExecuteCall"); + const execSelector = + automateProxyInterface.getFunction("batchExecuteCall").selector; - const execAbi = automateProxyInterface.format("json") as string; + const execAbi = automateProxyInterface.formatJson(); + // const execAbi = automateProxyInterface.format("json") as string; const createTaskOptions: CreateTaskOptions = { ..._args, @@ -292,8 +299,8 @@ export class AutomateSDK { creatorAddress?: string, ): Promise { const args = await this._processModules(_args); - const tx: PopulatedTransaction = - await this._automate.populateTransaction.createTask( + const tx: ContractTransaction = + await this._automate.createTask.populateTransaction( args.execAddress, args.execData ?? args.execSelector, args.moduleData, @@ -319,7 +326,7 @@ export class AutomateSDK { tx: unsignedTx, } = await this.prepareTask(_args, overrides); - const tx: ContractTransaction = await this._signer.sendTransaction( + const tx: TransactionResponse = await this._signer.sendTransaction( unsignedTx, ); await this._finalizeTaskCreation(taskId, args, authToken); @@ -375,7 +382,7 @@ export class AutomateSDK { taskId: string, overrides: Overrides = {}, ): Promise { - const tx = await this._automate.populateTransaction.cancelTask( + const tx = await this._automate.cancelTask.populateTransaction( taskId, overrides, ); @@ -388,7 +395,7 @@ export class AutomateSDK { ): Promise { const { tx: unsignedTx } = await this.prepareCancelTask(taskId, overrides); - const tx: ContractTransaction = await this._signer.sendTransaction( + const tx: TransactionResponse = await this._signer.sendTransaction( unsignedTx, ); return { taskId, tx }; @@ -398,14 +405,13 @@ export class AutomateSDK { * @deprecated this function will be removed in next major upgrade */ public isGnosisSafeApp = (): boolean => { - let provider: providers.Provider | undefined; + let provider: Provider | undefined; if (this._signer.provider?.hasOwnProperty("provider")) { // Use internal provider - provider = ( - this._signer.provider as unknown as { provider: providers.Provider } - ).provider; + provider = (this._signer.provider as unknown as { provider: Provider }) + .provider; } else { - provider = this._signer.provider; + provider = this._signer.provider || undefined; } return Boolean(provider?.hasOwnProperty("safe")); }; diff --git a/src/lib/Signature.ts b/src/lib/Signature.ts index 5d74386..9ec0e06 100644 --- a/src/lib/Signature.ts +++ b/src/lib/Signature.ts @@ -1,4 +1,5 @@ -import { Signer } from "@ethersproject/abstract-signer"; +// import { Signer } from "@ethersproject/abstract-signer"; +import { Signer } from "ethers"; import { Buffer } from "buffer"; import { SiweMessage } from "siwe"; import { ChainId } from "../types"; diff --git a/src/lib/Web3Function/Web3Function.ts b/src/lib/Web3Function/Web3Function.ts index 3169f63..cae1280 100644 --- a/src/lib/Web3Function/Web3Function.ts +++ b/src/lib/Web3Function/Web3Function.ts @@ -1,4 +1,4 @@ -import { Signer } from "@ethersproject/abstract-signer"; +import { Signer } from "ethers"; import { ChainId, Config } from "../../types"; import { Signature } from "../Signature"; import { Web3FunctionSecrets } from "./Web3FunctionSecrets"; diff --git a/src/lib/Web3Function/Web3FunctionSecrets.ts b/src/lib/Web3Function/Web3FunctionSecrets.ts index 6b3347d..587810c 100644 --- a/src/lib/Web3Function/Web3FunctionSecrets.ts +++ b/src/lib/Web3Function/Web3FunctionSecrets.ts @@ -1,4 +1,4 @@ -import { Signer } from "@ethersproject/abstract-signer"; +import { Signer } from "ethers"; import axios, { Axios } from "axios"; import { AUTOMATE_USER_API, AUTOMATE_USER_DEV_API } from "../../constants"; import { Config, Secrets } from "../../types"; @@ -132,7 +132,12 @@ export class Web3FunctionSecrets { private async _initialize(): Promise { if (!this._chainId) { - this._chainId = await this._signer.getChainId(); + const provider = this._signer.provider; + if (!provider) { + throw new Error("Provider is not available."); + } + const network = await provider.getNetwork(); + this._chainId = Number(network.chainId); } } } diff --git a/src/lib/Web3Function/Web3FunctionStorage.ts b/src/lib/Web3Function/Web3FunctionStorage.ts index 28e7573..0e565bd 100644 --- a/src/lib/Web3Function/Web3FunctionStorage.ts +++ b/src/lib/Web3Function/Web3FunctionStorage.ts @@ -1,4 +1,4 @@ -import { Signer } from "@ethersproject/abstract-signer"; +import { Signer } from "ethers"; import axios, { Axios } from "axios"; import { AUTOMATE_USER_API, AUTOMATE_USER_DEV_API } from "../../constants"; import { ChainId, Config, Storage } from "../../types"; diff --git a/src/types/TaskPopulatedTransaction.interface.ts b/src/types/TaskPopulatedTransaction.interface.ts index 86f32a6..2adb4a9 100644 --- a/src/types/TaskPopulatedTransaction.interface.ts +++ b/src/types/TaskPopulatedTransaction.interface.ts @@ -1,13 +1,13 @@ -import { PopulatedTransaction } from "ethers"; +import { ContractTransaction } from "ethers"; import { CreateTaskOptionsWithModules } from "./CreateTaskOptions.interface"; export interface CreateTaskPopulatedTransaction { taskId: string; - tx: PopulatedTransaction; + tx: ContractTransaction; args: CreateTaskOptionsWithModules; } export interface CancelTaskPopulatedTransaction { taskId: string; - tx: PopulatedTransaction; + tx: ContractTransaction; } diff --git a/src/types/TaskTransaction.interface.ts b/src/types/TaskTransaction.interface.ts index 102eab4..8031a4d 100644 --- a/src/types/TaskTransaction.interface.ts +++ b/src/types/TaskTransaction.interface.ts @@ -1,6 +1,6 @@ -import { ContractTransaction } from "ethers"; +import { TransactionResponse } from "ethers"; export interface TaskTransaction { taskId?: string; - tx: ContractTransaction; + tx: TransactionResponse; } diff --git a/yarn.lock b/yarn.lock index a1926c1..ef31ad1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,6 +7,11 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== +"@adraffy/ens-normalize@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" + integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== + "@babel/code-frame@^7.0.0": version "7.22.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" @@ -275,346 +280,6 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.46.0.tgz#3f7802972e8b6fe3f88ed1aabc74ec596c456db6" integrity sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA== -"@ethersproject/abi@5.6.1", "@ethersproject/abi@^5.6.0": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.6.1.tgz#f7de888edeb56b0a657b672bdd1b3a1135cd14f7" - integrity sha512-0cqssYh6FXjlwKWBmLm3+zH2BNARoS5u/hxbz+LpQmcDB3w0W553h2btWui1/uZp2GBM/SI3KniTuMcYyHpA5w== - dependencies: - "@ethersproject/address" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/hash" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - -"@ethersproject/abstract-provider@5.6.0", "@ethersproject/abstract-provider@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.6.0.tgz#0c4ac7054650dbd9c476cf5907f588bbb6ef3061" - integrity sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw== - dependencies: - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/networks" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - "@ethersproject/web" "^5.6.0" - -"@ethersproject/abstract-signer@5.6.0", "@ethersproject/abstract-signer@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.6.0.tgz#9cd7ae9211c2b123a3b29bf47aab17d4d016e3e7" - integrity sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ== - dependencies: - "@ethersproject/abstract-provider" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - -"@ethersproject/address@5.6.0", "@ethersproject/address@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.0.tgz#13c49836d73e7885fc148ad633afad729da25012" - integrity sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ== - dependencies: - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/rlp" "^5.6.0" - -"@ethersproject/base64@5.6.0", "@ethersproject/base64@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.6.0.tgz#a12c4da2a6fb86d88563216b0282308fc15907c9" - integrity sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw== - dependencies: - "@ethersproject/bytes" "^5.6.0" - -"@ethersproject/basex@5.6.0", "@ethersproject/basex@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.6.0.tgz#9ea7209bf0a1c3ddc2a90f180c3a7f0d7d2e8a69" - integrity sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - -"@ethersproject/bignumber@5.6.0", "@ethersproject/bignumber@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.6.0.tgz#116c81b075c57fa765a8f3822648cf718a8a0e26" - integrity sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - bn.js "^4.11.9" - -"@ethersproject/bytes@5.6.1", "@ethersproject/bytes@^5.6.0": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.6.1.tgz#24f916e411f82a8a60412344bf4a813b917eefe7" - integrity sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g== - dependencies: - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/constants@5.6.0", "@ethersproject/constants@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.6.0.tgz#55e3eb0918584d3acc0688e9958b0cedef297088" - integrity sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA== - dependencies: - "@ethersproject/bignumber" "^5.6.0" - -"@ethersproject/contracts@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.6.0.tgz#60f2cfc7addd99a865c6c8cfbbcec76297386067" - integrity sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw== - dependencies: - "@ethersproject/abi" "^5.6.0" - "@ethersproject/abstract-provider" "^5.6.0" - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/address" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - -"@ethersproject/hash@5.6.0", "@ethersproject/hash@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.6.0.tgz#d24446a5263e02492f9808baa99b6e2b4c3429a2" - integrity sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA== - dependencies: - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/address" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - -"@ethersproject/hdnode@5.6.0", "@ethersproject/hdnode@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.6.0.tgz#9dcbe8d629bbbcf144f2cae476337fe92d320998" - integrity sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw== - dependencies: - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/basex" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/pbkdf2" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/sha2" "^5.6.0" - "@ethersproject/signing-key" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - "@ethersproject/wordlists" "^5.6.0" - -"@ethersproject/json-wallets@5.6.0", "@ethersproject/json-wallets@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.6.0.tgz#4c2fc27f17e36c583e7a252fb938bc46f98891e5" - integrity sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ== - dependencies: - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/address" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/hdnode" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/pbkdf2" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.6.0", "@ethersproject/keccak256@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.6.0.tgz#fea4bb47dbf8f131c2e1774a1cecbfeb9d606459" - integrity sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w== - dependencies: - "@ethersproject/bytes" "^5.6.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@5.6.0", "@ethersproject/logger@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.6.0.tgz#d7db1bfcc22fd2e4ab574cba0bb6ad779a9a3e7a" - integrity sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg== - -"@ethersproject/networks@5.6.2", "@ethersproject/networks@^5.6.0": - version "5.6.2" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.6.2.tgz#2bacda62102c0b1fcee408315f2bed4f6fbdf336" - integrity sha512-9uEzaJY7j5wpYGTojGp8U89mSsgQLc40PCMJLMCnFXTs7nhBveZ0t7dbqWUNrepWTszDbFkYD6WlL8DKx5huHA== - dependencies: - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/pbkdf2@5.6.0", "@ethersproject/pbkdf2@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.6.0.tgz#04fcc2d7c6bff88393f5b4237d906a192426685a" - integrity sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/sha2" "^5.6.0" - -"@ethersproject/properties@5.6.0", "@ethersproject/properties@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.6.0.tgz#38904651713bc6bdd5bdd1b0a4287ecda920fa04" - integrity sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg== - dependencies: - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/providers@5.6.5": - version "5.6.5" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.6.5.tgz#aefecf78459817a323452e05a16d56afcf807e27" - integrity sha512-TRS+c2Ud+cMpWodmGAc9xbnYRPWzRNYt2zkCSnj58nJoamBQ6x4cUbBeo0lTC3y+6RDVIBeJv18OqsDbSktLVg== - dependencies: - "@ethersproject/abstract-provider" "^5.6.0" - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/address" "^5.6.0" - "@ethersproject/basex" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/hash" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/networks" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.0" - "@ethersproject/rlp" "^5.6.0" - "@ethersproject/sha2" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - "@ethersproject/web" "^5.6.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.6.0", "@ethersproject/random@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.6.0.tgz#1505d1ab6a250e0ee92f436850fa3314b2cb5ae6" - integrity sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/rlp@5.6.0", "@ethersproject/rlp@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.6.0.tgz#55a7be01c6f5e64d6e6e7edb6061aa120962a717" - integrity sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/sha2@5.6.0", "@ethersproject/sha2@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.6.0.tgz#364c4c11cc753bda36f31f001628706ebadb64d9" - integrity sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.6.1", "@ethersproject/signing-key@^5.6.0": - version "5.6.1" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.6.1.tgz#31b0a531520616254eb0465b9443e49515c4d457" - integrity sha512-XvqQ20DH0D+bS3qlrrgh+axRMth5kD1xuvqUQUTeezxUTXBOeR6hWz2/C6FBEu39FRytyybIWrYf7YLSAKr1LQ== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.6.0.tgz#64657362a596bf7f5630bdc921c07dd78df06dc3" - integrity sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww== - dependencies: - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/sha2" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - -"@ethersproject/strings@5.6.0", "@ethersproject/strings@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.6.0.tgz#9891b26709153d996bf1303d39a7f4bc047878fd" - integrity sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/transactions@5.6.0", "@ethersproject/transactions@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.6.0.tgz#4b594d73a868ef6e1529a2f8f94a785e6791ae4e" - integrity sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg== - dependencies: - "@ethersproject/address" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/rlp" "^5.6.0" - "@ethersproject/signing-key" "^5.6.0" - -"@ethersproject/units@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.6.0.tgz#e5cbb1906988f5740254a21b9ded6bd51e826d9c" - integrity sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw== - dependencies: - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/constants" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - -"@ethersproject/wallet@5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.6.0.tgz#33d11a806d783864208f348709a5a3badac8e22a" - integrity sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg== - dependencies: - "@ethersproject/abstract-provider" "^5.6.0" - "@ethersproject/abstract-signer" "^5.6.0" - "@ethersproject/address" "^5.6.0" - "@ethersproject/bignumber" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/hash" "^5.6.0" - "@ethersproject/hdnode" "^5.6.0" - "@ethersproject/json-wallets" "^5.6.0" - "@ethersproject/keccak256" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.0" - "@ethersproject/signing-key" "^5.6.0" - "@ethersproject/transactions" "^5.6.0" - "@ethersproject/wordlists" "^5.6.0" - -"@ethersproject/web@5.6.0", "@ethersproject/web@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.6.0.tgz#4bf8b3cbc17055027e1a5dd3c357e37474eaaeb8" - integrity sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg== - dependencies: - "@ethersproject/base64" "^5.6.0" - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - -"@ethersproject/wordlists@5.6.0", "@ethersproject/wordlists@^5.6.0": - version "5.6.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.6.0.tgz#79e62c5276e091d8575f6930ba01a29218ded032" - integrity sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q== - dependencies: - "@ethersproject/bytes" "^5.6.0" - "@ethersproject/hash" "^5.6.0" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/strings" "^5.6.0" - "@humanwhocodes/config-array@^0.11.10": version "0.11.10" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2" @@ -674,6 +339,18 @@ globby "^11.0.0" read-yaml-file "^1.1.0" +"@noble/curves@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + +"@noble/hashes@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -695,6 +372,13 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@nomicfoundation/hardhat-network-helpers@^1.0.10": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.0.10.tgz#c61042ceb104fdd6c10017859fdef6529c1d6585" + integrity sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ== + dependencies: + ethereumjs-util "^7.1.4" + "@pkgr/utils@^2.3.1": version "2.4.2" resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc" @@ -764,14 +448,21 @@ resolved "https://registry.yarnpkg.com/@tsconfig/recommended/-/recommended-1.0.2.tgz#1e198237225933e319718f082e78366e9f159d71" integrity sha512-dbHBtbWBOjq0/otpopAE02NT2Cm05Qe2JsEKeCf/wjSYbI2hz8nCqnpnOJWHATgjDz4fd3dchs3Wy1gQGjfN6w== -"@typechain/ethers-v5@^11.1.1": - version "11.1.1" - resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-11.1.1.tgz#23a358135a302140cf89a186592464dd6bbf1f98" - integrity sha512-D9WyUrCJ4Z5Gg8T00HWLpuqn1CqSDXlCiUOOpLaWoCbnZrE2jSIOUwR9blBZNo6LE5058e3niVu6xk205Et7tg== +"@typechain/ethers-v6@0.5.1": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v6/-/ethers-v6-0.5.1.tgz#42fe214a19a8b687086c93189b301e2b878797ea" + integrity sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA== dependencies: lodash "^4.17.15" ts-essentials "^7.0.1" +"@types/bn.js@^5.1.0": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" + integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== + dependencies: + "@types/node" "*" + "@types/is-ci@^3.0.0": version "3.0.4" resolved "https://registry.yarnpkg.com/@types/is-ci/-/is-ci-3.0.4.tgz#6f883e86e32f47747acbc6929a623d4e6fd71915" @@ -801,6 +492,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.31.tgz#a5bb84ecfa27eec5e1c802c6bbf8139bdb163a5d" integrity sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q== +"@types/node@18.15.13": + version "18.15.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" + integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== + "@types/node@^12.7.1": version "12.20.55" resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" @@ -816,6 +512,13 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== +"@types/pbkdf2@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" + integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== + dependencies: + "@types/node" "*" + "@types/prettier@^2.1.1": version "2.6.0" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.0.tgz#efcbd41937f9ae7434c714ab698604822d890759" @@ -828,6 +531,13 @@ dependencies: "@types/node" "*" +"@types/secp256k1@^4.0.1": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" + integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== + dependencies: + "@types/node" "*" + "@types/semver@^7.5.0": version "7.5.0" resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.0.tgz#591c1ce3a702c45ee15f47a42ade72c2fd78978a" @@ -939,10 +649,10 @@ acorn@^8.9.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= +aes-js@4.0.0-beta.5: + version "4.0.0-beta.5" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" + integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== aggregate-error@^3.0.0: version "3.1.0" @@ -1105,16 +815,18 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base-x@^3.0.2: + version "3.0.9" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" + integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== + dependencies: + safe-buffer "^5.0.1" + base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - better-path-resolve@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/better-path-resolve/-/better-path-resolve-1.0.0.tgz#13a35a1104cdd48a7b74bf8758f96a1ee613f99d" @@ -1127,11 +839,21 @@ big-integer@^1.6.44: resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== +bn.js@^5.1.2, bn.js@^5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== + bplist-parser@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" @@ -1164,7 +886,40 @@ breakword@^1.0.5: brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== + +browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +bs58@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== buffer@^6.0.3: version "6.0.3" @@ -1241,6 +996,14 @@ ci-info@^3.1.0, ci-info@^3.2.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -1358,6 +1121,29 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -1523,10 +1309,10 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== +elliptic@^6.5.4: + version "6.5.5" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.5.tgz#c715e09f78b6923977610d4c2346d6ce22e6dded" + integrity sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw== dependencies: bn.js "^4.11.9" brorand "^1.1.0" @@ -1758,41 +1544,58 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -ethers@^5.5.2: - version "5.6.5" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.6.5.tgz#3185ac7815dc640993408adf6f133ffabfbcbb63" - integrity sha512-9CTmplO9bv0s/aPw3HB3txGzKz3tUSI2EfO4dJo0W2WvaEq1ArgsEX6obV+bj5X3yY+Zgb1kAux8TDtJKe1FaA== - dependencies: - "@ethersproject/abi" "5.6.1" - "@ethersproject/abstract-provider" "5.6.0" - "@ethersproject/abstract-signer" "5.6.0" - "@ethersproject/address" "5.6.0" - "@ethersproject/base64" "5.6.0" - "@ethersproject/basex" "5.6.0" - "@ethersproject/bignumber" "5.6.0" - "@ethersproject/bytes" "5.6.1" - "@ethersproject/constants" "5.6.0" - "@ethersproject/contracts" "5.6.0" - "@ethersproject/hash" "5.6.0" - "@ethersproject/hdnode" "5.6.0" - "@ethersproject/json-wallets" "5.6.0" - "@ethersproject/keccak256" "5.6.0" - "@ethersproject/logger" "5.6.0" - "@ethersproject/networks" "5.6.2" - "@ethersproject/pbkdf2" "5.6.0" - "@ethersproject/properties" "5.6.0" - "@ethersproject/providers" "5.6.5" - "@ethersproject/random" "5.6.0" - "@ethersproject/rlp" "5.6.0" - "@ethersproject/sha2" "5.6.0" - "@ethersproject/signing-key" "5.6.1" - "@ethersproject/solidity" "5.6.0" - "@ethersproject/strings" "5.6.0" - "@ethersproject/transactions" "5.6.0" - "@ethersproject/units" "5.6.0" - "@ethersproject/wallet" "5.6.0" - "@ethersproject/web" "5.6.0" - "@ethersproject/wordlists" "5.6.0" +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereumjs-util@^7.1.4: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethers@6.12.0: + version "6.12.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.12.0.tgz#b0c2ce207ae5a3b5125be966e32ffea7c1f2481a" + integrity sha512-zL5NlOTjML239gIvtVJuaSk0N9GQLi1Hom3ZWUszE5lDTQE/IVB62mrPkQ2W1bGcZwVGSLaetQbWNQSvI4rGDQ== + dependencies: + "@adraffy/ens-normalize" "1.10.1" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@types/node" "18.15.13" + aes-js "4.0.0-beta.5" + tslib "2.4.0" + ws "8.5.0" + +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" execa@^5.0.0: version "5.1.1" @@ -2184,7 +1987,16 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" + integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -2202,7 +2014,7 @@ hasown@^2.0.0: hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== dependencies: hash.js "^1.0.3" minimalistic-assert "^1.0.0" @@ -2276,7 +2088,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.3, inherits@^2.0.4: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -2500,7 +2312,7 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -js-sha3@0.8.0, js-sha3@^0.8.0: +js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== @@ -2547,6 +2359,15 @@ jsonfile@^4.0.0: optionalDependencies: graceful-fs "^4.1.6" +keccak@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -2692,6 +2513,15 @@ map-obj@^4.0.0: resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + meow@^6.0.0: version "6.1.1" resolved "https://registry.yarnpkg.com/meow/-/meow-6.1.1.tgz#1ad64c4b76b2a24dfb2f635fddcadf320d251467" @@ -2762,7 +2592,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.2: version "3.1.2" @@ -2817,6 +2647,16 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-gyp-build@^4.2.0: + version "4.8.1" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" + integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== + normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -3023,6 +2863,17 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pbkdf2@^3.0.17: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -3112,6 +2963,13 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -3141,6 +2999,15 @@ read-yaml-file@^1.1.0: pify "^4.0.1" strip-bom "^3.0.0" +readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -3231,6 +3098,21 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + run-applescript@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c" @@ -3262,6 +3144,11 @@ safe-array-concat@^1.0.1: has-symbols "^1.0.3" isarray "^2.0.5" +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + safe-regex-test@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" @@ -3276,11 +3163,20 @@ safe-regex-test@^1.0.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -scrypt-js@3.0.1: +scrypt-js@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== +secp256k1@^4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" + integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + "semver@2 || 3 || 4 || 5": version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" @@ -3317,6 +3213,19 @@ set-function-name@^2.0.0: functions-have-names "^1.2.3" has-property-descriptors "^1.0.0" +setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -3508,6 +3417,13 @@ string.prototype.trimstart@^1.0.7: define-properties "^1.2.0" es-abstract "^1.22.1" +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -3684,7 +3600,7 @@ ts-node@^10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -tslib@^2.1.0: +tslib@2.4.0, tslib@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== @@ -3836,6 +3752,11 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" @@ -3936,10 +3857,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@8.5.0: + version "8.5.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" + integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== y18n@^4.0.0: version "4.0.3"